พื้นฐานการใช้ ตัวอย่างก่อนหน้านี้ เราจะเห็นวิธีการ, Visual Basic. , เรียงลำดับข้อมูลใน listview โดยหนึ่งในคอลัมน์ของเขา
โครงการ ก่อนที่ คุณจะเพิ่มสองปุ่มเพื่อเลือกซึ่งเป็นลำดับที่ต้องการ ดังแสดงในภาพด้านล่าง:

ต่อมาในรหัสแบบฟอร์มเดียวกันกับที่เราจะสร้างสองชั้นเรียนใหม่ (OrdenarPorNombre และสั่งซื้อตามขนาด) และเหตุการณ์ของปุ่มเลียเราตั้งสถานที่ให้บริการ ListView ListViewItemSorter กับอินสแตนซ์ใหม่ของการเรียนสำหรับการสั่งซื้อที่เลือก รหัสสั้นจึงไม่เสียค่าใช้จ่ายในการวิเคราะห์มาก แล้วฉันจะปล่อยให้ทุกรหัสของแบบฟอร์ม:
System.IO Imports สาธารณะ Form1 ระดับ Private Sub Form1_Load (ByVal ผู้ส่งเป็น System.Object, _ ByVal e เป็น System.EventArgs) MyBase.Load จับ มซำ d As New DirectoryInfo ("C: \ Windows") ListView1.View = View.Details ทรู ListView1.FullRowSelect = ListView1.BeginUpdate () ListView1.Items.Clear () สำหรับ F แต่ละ FileInfo ใน d.GetFiles รายการที่มซำเป็นนิ ListViewItem (f.Name) item.SubItems.Add (f.length) item.SubItems.Add (f.CreationTime) item.SubItems.Add (f.LastWriteTime) item.SubItems.Add (f.LastAccessTime) ListView1.Items.Add (รายการ) ต่อไป ListView1.EndUpdate () ย่อยสิ้นสุด Private Sub Button1_Click (ByVal ผู้ส่งเป็น System.Object, _ ByVal e เป็น System.EventArgs) จัดการ Button1.Click เรียงตามชื่อ ListView1.ListViewItemSorter = ordenarPorNombre ใหม่ ย่อยสิ้นสุด Private Sub Button2_Click (ByVal ผู้ส่งเป็น System.Object, _ ByVal e เป็น System.EventArgs) จัดการ Button2.Click เรียงตามขนาด ListView1.ListViewItemSorter = ordenarPorTamañoใหม่ ย่อยสิ้นสุด ระดับ End ordenarPorNombre ระดับ ดำเนิน IComparer
ฟังก์ชั่นสาธารณะเปรียบเทียบ (ByVal x As Object, ByVal Y As Object) _ As Integer นำกระบวนการ System.Collections.IComparer.Compare มซำเป็น item1 ListViewItem = วัตถุ CType (x, ListViewItem) มซำ item2 ในฐานะที่เป็นวัตถุ CType ListViewItem = (y, ListViewItem) กลับ String.Compare (item1.Text, item2.Text) ฟังก์ชั่นเอนด์ ระดับ End
ordenarPorTamañoระดับ ดำเนิน IComparer ฟังก์ชั่นสาธารณะเปรียบเทียบ (ByVal x As Object, ByVal Y As Object) _ As Integer นำกระบวนการ System.Collections.IComparer.Compare มซำเป็น item1 ListViewItem = วัตถุ CType (x, ListViewItem) มซำ item2 ในฐานะที่เป็นวัตถุ CType ListViewItem = (y, ListViewItem) ย้อนกลับ Math.Sign (CLng (item1.SubItems (1) ข้อความ) -.. CLng (item2.SubItems (1) ข้อความ)) ฟังก์ชั่นเอนด์ ระดับ End
และเช่นเคยผมหวังว่ารหัสจะเป็นประโยชน์
Bitacoras.com ข้อมูล ...
อัตราใน Bitacoras.com: ใช้เป็นพื้นฐานในตัวอย่างข้างต้นเราจะเห็นวิธีการ, Visual Basic สุทธิ ListView เรียงลำดับข้อมูลตามคอลัมน์ใด ๆ ของ. โครงการก่อนหน้านี้จะเพิ่มสองปุ่มเพื่อเลือกซึ่งเป็นคำสั่งของ .....
ตกลงได้ แต่เพียงแค่นี้ ... จากน้อยไปมากการสั่งซื้อและการสั่งซื้อสินค้าขึ้นและลงให้คลิกที่ส่วนหัวของคอลัมน์?
ลอร่าสูง:
ต้องการสั่งซื้อตามชื่อจากมากไปน้อยก็ต้องย้อนกลับตัวแปรที่ถูกส่งกลับในชั้นเรียน OrdenarPorNombre ... คุณต้องเปลี่ยน:
กลับ String.Compare (item1.Text, item2.Text)
สำหรับนี้:
กลับ String.Compare (item2.Text, item1.Text)
และในกรณีของลำดับตัวเลขจะต้องกลับเข้าสู่ระบบที่ส่งกลับโดยกรณีordenarPorTamañoเปลี่ยนแปลงนี้:
ย้อนกลับ Math.Sign (CLng (item1.SubItems (1) ข้อความ) -.. CLng (item2.SubItems (1) ข้อความ))
สำหรับนี้:
กลับ Math.Sign () CLng (item1.SubItems (1) ข้อความ.) - CLng (. item2.SubItems (1) ข้อความ)) * -1)
และในที่สุดก็บอกคุณได้ว่าคำสั่งซื้อให้คลิกที่คอลัมน์ของ ListView ไม่แสดงความคิดเห็นที่นี่เพราะผมต้องการที่จะอุทิศบทความที่แยกต่างหาก
ทักทาย, เอลีชา
และเป็นลำดับที่คุณตามเขตข้อมูลใด ๆ ในวันที่จากมากไปน้อยวันที่สร้างเช่น
เพิ่มระดับต่อไปและกำหนดให้ปุ่มที่คุณต้องการ
ordenarPorFechaCreacion ระดับ
ดำเนิน IComparer
ฟังก์ชั่นสาธารณะเปรียบเทียบ (ByVal x As Object, ByVal Y As Object) _
As Integer นำกระบวนการ System.Collections.IComparer.Compare
มซำเป็น item1 ListViewItem = วัตถุ CType (x, ListViewItem)
มซำ item2 ในฐานะที่เป็นวัตถุ CType ListViewItem = (y, ListViewItem)
กลับ Date.Compare (Date.parse (item1.SubItems (2). ข้อความ), Date.parse (item2.SubItems (2). ข้อความ))
ฟังก์ชั่นเอนด์
ระดับ End
สวัสดีคน
ใน C # ที่เป็นจะเป็นประโยคคำสั่งเดียวกัน?
[... ] [... ]
เริ่มต้น dobry
ในกรณีที่ถ้าผมมีรายการอื่น ๆ
23 = 5 +5 +13
5 = 1 +1 +1 +2
4 = 3 +1
ฯลฯ .....
ฉันจะทำตามที่ฉันสั่งได้ด้วยตัวเลขว่าถ้าผลเป็นผม 231 = 100 100 31 ไม่ได้ใส่ไว้หลัง 23 = 5 5 13
บ่ายวันดี,
ขออภัยในความไม่สะดวก แต่จะได้รู้ว่าวิธีที่คุณสามารถเรียงลำดับตามคอลัมน์ที่สองในครั้งเดียว? อะไรเช่นนี้
XYZ
ABA -> 1
Baa -> 2
กับ b -> 3
และซ้าย:
XYZ
กับ b -> 3
ABA -> 1
Baa -> 2
ซุปเปอร์ขอบคุณถ้าคุณสามารถช่วยและหากไม่ได้ขอบคุณสำหรับการโพสต์ข้อมูลเดียวกันกับที่เป็นประโยชน์กับฉันยัง
และถ้าคุณต้องการวัน ..... ซึ่งไม่เพียง แต่ตามวันที่ของการสร้าง