पिछले उदाहरण का उपयोग कर आधार , हम कैसे देखते हैं, दृश्य बुनियादी शुद्ध. अपने कॉलम के द्वारा listview में डेटा सॉर्ट करें.
परियोजना से पहले आपको दो बटन का चयन करने के लिए जो वांछित आदेश है जोड़ें. जैसा कि नीचे चित्र में दिखाया गया है:

बाद में एक ही प्रपत्र कोड में हम दो नए वर्गों (और आकार के द्वारा OrdenarPorNombre आदेश) बनाने के लिए, और बटन की घटनाओं चाटना हम चयनित आदेश के लिए इसी वर्ग की एक नई मिसाल के साथ listview ListViewItemSorter गुण सेट. कोड कम है, इसलिए ज्यादा विश्लेषण लागत नहीं है. तो मैं छोड़ प्रपत्र का सभी कोड:
आयात System.IO सार्वजनिक कक्षा Form1 निजी उप Form1_Load (ByVal प्रेषक के रूप में System.Object, _ System.EventArgs के रूप में ByVal ई) संभालती MyBase.Load मंद नई DirectoryInfo ("C: \ Windows") ListView1.View = View.Details ListView1.FullRowSelect = सच (ListView1.BeginUpdate) (ListView1.Items.Clear) D.GetFiles FileInfo के रूप में प्रत्येक च के लिए नई 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, _ System.EventArgs के रूप में ByVal ई) हैंडल Button2.Click 'आकार द्वारा क्रमबद्ध करें ListView1.ListViewItemSorter = नई ordenarPorTamaño अंत उप अंत क्लास वर्ग ordenarPorNombre IComparer इम्प्लीमेन्ट्स
सार्वजनिक समारोह से तुलना (ByVal के रूप में एक्स वस्तु वस्तु के रूप में, ByVal y) _ के रूप में पूर्णांक System.Collections.IComparer.Compare इम्प्लीमेन्ट्स ListViewItem item1 मंद = CType (x ListViewItem,) मंद item2 ListViewItem के रूप में = CType (वाई ListViewItem) String.Compare वापसी (item1.Text, item2.Text) अंत समारोह अंत क्लास
वर्ग ordenarPorTamaño IComparer इम्प्लीमेन्ट्स सार्वजनिक समारोह से तुलना (ByVal के रूप में एक्स वस्तु वस्तु के रूप में, ByVal y) _ के रूप में पूर्णांक System.Collections.IComparer.Compare इम्प्लीमेन्ट्स ListViewItem item1 मंद = CType (x ListViewItem,) मंद item2 ListViewItem के रूप में = CType (वाई ListViewItem) Math.Sign वापसी (Clng ((1) पाठ) item1.SubItems के. Clng (item2.SubItems (1) पाठ)) अंत समारोह अंत क्लास
हमेशा की तरह, मुझे आशा है कि कोड उपयोगी होगा.
सूचना Bitacoras.com ...
Bitacoras.com में दर: एक आधार के रूप में ऊपर के उदाहरण का उपयोग कर, हम कैसे देखते हैं, दृश्य बुनियादी अपने कॉलम में से किसी के द्वारा नेट listview तरह डेटा. पिछले परियोजना दो बटन जोड़ने के लिए चयन का जो क्रम है .....
ठीक है, ठीक है, लेकिन ... यह सिर्फ आदेश आरोही और आदेश और नीचे, स्तंभ शीर्ष पर क्लिक करें दे रही है?
हाय लौरा:
उतरते में नाम से आदेश सिर्फ चर कि वर्ग OrdenarPorNombre में लौट रहे हैं रिवर्स है ... आप को बदलना होगा:
String.Compare वापसी (item1.Text, item2.Text)
इस के लिए:
String.Compare वापसी (item2.Text, item1.Text)
और संख्यात्मक क्रम के मामले में ordenarPorTamaño मामले से लौटा, इस बदलते हस्ताक्षर रिवर्स चाहिए:
Math.Sign वापसी (Clng ((1) पाठ) item1.SubItems के. Clng (item2.SubItems (1) पाठ))
इस के लिए:
वापसी Clng ((1) item2.SubItems पाठ)) -1 *) - (Math.Sign) (. (1) लिए पाठ item1.SubItems) Clng
और अंत में आपको बताना है कि आदेश दे क्लिक करें listview का स्तंभ यहाँ टिप्पणी नहीं है क्योंकि मैं एक अलग लेख समर्पित करना चाहते हैं.
नमस्ते एलीशा,
और तुम आदेश के रूप में किसी भी क्षेत्र से तारीख तिथि अवरोही में जैसे बनाया.
निम्न वर्ग में जोड़ें और आप चाहते हैं बटन को असाइन है.
वर्ग ordenarPorFechaCreacion
IComparer इम्प्लीमेन्ट्स
सार्वजनिक समारोह से तुलना (ByVal के रूप में एक्स वस्तु वस्तु के रूप में, ByVal y) _
के रूप में पूर्णांक System.Collections.IComparer.Compare इम्प्लीमेन्ट्स
ListViewItem item1 मंद = CType (x ListViewItem,)
मंद item2 ListViewItem के रूप में = CType (वाई ListViewItem)
Date.Compare (Date.parse ((2) item1.SubItems. पाठ), Date.parse ((2) item2.SubItems पाठ.)) लौटें
अंत समारोह
अंत क्लास
लोगों को नमस्कार.
सी # के रूप में एक ही आदेश के लिए सजा होगा?
[...] [...]
डॉबरी शुरू
मामले में अगर मैं एक सूची है
23 5 13 = 5
5 +1 1 = +1 +2
4 +1 = 3
आदि .....
मैं के रूप में मैं यह संख्या से आदेश है कि अगर एक परिणाम है, मैं 13 5 23 = 5 के बाद 231 100 31 = 100 यह नहीं डाल कर सकते हैं
नमस्कार,
असुविधा के लिए क्षमा करें, लेकिन पता चल जाएगा कि कैसे आप एक ही बार में दो कॉलम द्वारा सॉर्ट कर सकते हैं? कुछ इस तरह:
XYZ
ए.बी.ए. -> 1
मिमियाना -> 2
> 3 - ख
छोड़ दिया और:
XYZ
> 3 - ख
ए.बी.ए. -> 1
मिमियाना -> 2
सुपर आभारी यदि आप मदद कर सकता है और यदि नहीं, एक ही जानकारी है कि मेरे लिए भी उपयोगी था पोस्टिंग के लिए धन्यवाद.
और अगर तुम तिथि करने के लिए चाहते हैं ..... जो न केवल निर्माण की तारीख से कर रहे हैं