أساس باستخدام المثال السابق ، سوف نرى كيفية، البصرية الأساسية. صافي ، فرز البيانات في listview من جانب واحد من مقالاته.
المشروع قبل إضافة زرين لتحديد والذي هو النظام المطلوب. كما هو مبين في الصورة أدناه:

في وقت لاحق في شكل رمز نفسه سوف نقوم إنشاء اثنين من فئات جديدة (OrdenarPorNombre والنظام حسب الحجم)، والأحداث من الأزرار لعق نحن تعيين الخاصية ListViewItemSorter listview مع مثيل جديد من فئة المقابلة لأجل محدد. رمز غير قصير، لذلك لا يكلف تحليل من ذلك بكثير. ثم أترك كل رمز للنموذج:
واردات System.IO الجمهور الفئة Form1 خاصة الفرعية Form1_Load (الأساسية ByVal مرسل كما System.Object، _ ه الأساسية ByVal كما System.EventArgs) يعالج MyBase.Load د قاتمة كما DirectoryInfo جديد ("C: \ ويندوز") ListView1.View = View.Details ListView1.FullRowSelect = صحيح ListView1.BeginUpdate () ListView1.Items.Clear () عن كل (و) هو 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 () نهاية الفرعية خاصة الفرعية Button1_Click (الأساسية ByVal مرسل كما System.Object، _ ه الأساسية ByVal كما System.EventArgs) مقابض Button1.Click "حسب الاسم ListView1.ListViewItemSorter = جديد ordenarPorNombre نهاية الفرعية خاصة Button2_Click الفرعية (الأساسية ByVal مرسل كما System.Object، _ ه الأساسية ByVal كما System.EventArgs) مقابض Button2.Click 'حسب حجم ListView1.ListViewItemSorter = جديد ordenarPorTamaño نهاية الفرعية نهاية الدرجة فئة ordenarPorNombre تطبق IComparer الخاص بك
وظيفة عامة مقارنة (الأساسية ByVal X وجوه، وجوه الأساسية ByVal Y) _ وصحيح تطبيقات System.Collections.IComparer.Compare خافت item1 كما ListViewItem = CType (خ، ListViewItem) خافت item2 كما ListViewItem = CType (ذ، ListViewItem) عودة String.Compare (item1.Text، item2.Text) نهاية وظيفة نهاية الدرجة
فئة ordenarPorTamaño تطبق IComparer الخاص بك وظيفة عامة مقارنة (الأساسية ByVal X وجوه، وجوه الأساسية ByVal Y) _ وصحيح تطبيقات System.Collections.IComparer.Compare خافت item1 كما ListViewItem = CType (خ، ListViewItem) خافت item2 كما ListViewItem = CType (ذ، ListViewItem) Math.Sign العودة (CLng (item1.SubItems (1) نص) - CLng (item2.SubItems (1) النص)) نهاية وظيفة نهاية الدرجة
كما هو الحال دائما، وآمل أن رمز مفيدا.
معلومات 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 وجوه، وجوه الأساسية ByVal Y) _
وصحيح تطبيقات System.Collections.IComparer.Compare
خافت item1 كما ListViewItem = CType (خ، ListViewItem)
خافت item2 كما ListViewItem = CType (ذ، ListViewItem)
عودة Date.Compare (Date.parse (item1.SubItems (2). النص)، Date.parse (item2.SubItems (2). النص))
نهاية وظيفة
نهاية الدرجة
مرحبا الناس.
في C # سيكون كما في الجملة للنظام نفسه؟
[...] [...]
dobry البداية
في حالة ما إذا كان لدي لائحة بحيث
23 = 5 +5 +13
5 = 1 +1 +1 +2
4 = 3 +1
الخ .....
يمكنني أن أفعل وأنا من أجل ذلك عن طريق الأرقام التي إذا نتيجة لذلك هو أنني 231 = 100 +100 +31 ليس وضعه بعد 23 = 5 +5 +13
جيدة بعد ظهر اليوم،
نأسف للإزعاج، ولكن نعرف كيف يمكنك فرز بواسطة عمودين في آن واحد؟ شيء من هذا القبيل:
XYZ
ابا -> 1
ايه -> 2
لب - 3>
وغادر:
XYZ
لب - 3>
ابا -> 1
ايه -> 2
سوبر ممتنا لو انك تساعد وإذا لم يكن،. شكرا لنشر المعلومات نفسها التي كانت مفيدة لي أيضا
وإذا كنت تريد حتى الآن ..... والتي ليست فقط من قبل تاريخ الإنشاء