एक सूची दृश्य में डेटा सॉर्ट

पिछले उदाहरण का उपयोग कर आधार , हम कैसे देखते हैं, दृश्य बुनियादी शुद्ध. अपने कॉलम के द्वारा 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) पाठ))
 अंत समारोह
 अंत क्लास

हमेशा की तरह, मुझे आशा है कि कोड उपयोगी होगा.

11 जवाब "एक सूची दृश्य में डेटा छंटनी"

  1. Bitacoras.com कहते हैं:

    सूचना Bitacoras.com ...

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

  2. लौरा कहते हैं:

    ठीक है, ठीक है, लेकिन ... यह सिर्फ आदेश आरोही और आदेश और नीचे, स्तंभ शीर्ष पर क्लिक करें दे रही है?

  3. एलीशा कहते हैं:

    हाय लौरा:

    उतरते में नाम से आदेश सिर्फ चर कि वर्ग 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 का स्तंभ यहाँ टिप्पणी नहीं है क्योंकि मैं एक अलग लेख समर्पित करना चाहते हैं.

    नमस्ते एलीशा,

  4. ऑस्कर कहते हैं:

    और तुम आदेश के रूप में किसी भी क्षेत्र से तारीख तिथि अवरोही में जैसे बनाया.

    • एलीशा कहते हैं:

      निम्न वर्ग में जोड़ें और आप चाहते हैं बटन को असाइन है.

      वर्ग 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 पाठ.)) लौटें
      अंत समारोह
      अंत क्लास

  5. रोक्साना कहते हैं:

    लोगों को नमस्कार.
    सी # के रूप में एक ही आदेश के लिए सजा होगा?

  6. bebrafraptaug कहते हैं:

    डॉबरी शुरू

  7. यहोशू कहते हैं:

    मामले में अगर मैं एक सूची है
    23 5 13 = 5
    5 +1 1 = +1 +2
    4 +1 = 3
    आदि .....
    मैं के रूप में मैं यह संख्या से आदेश है कि अगर एक परिणाम है, मैं 13 5 23 = 5 के बाद 231 100 31 = 100 यह नहीं डाल कर सकते हैं

  8. विक्टर कहते हैं:

    नमस्कार,

    असुविधा के लिए क्षमा करें, लेकिन पता चल जाएगा कि कैसे आप एक ही बार में दो कॉलम द्वारा सॉर्ट कर सकते हैं? कुछ इस तरह:
    XYZ
    ए.बी.ए. -> 1
    मिमियाना -> 2
    > 3 - ख

    छोड़ दिया और:

    XYZ
    > 3 - ख
    ए.बी.ए. -> 1
    मिमियाना -> 2

    सुपर आभारी यदि आप मदद कर सकता है और यदि नहीं, एक ही जानकारी है कि मेरे लिए भी उपयोगी था पोस्टिंग के लिए धन्यवाद.

  9. Cinthia कहा:

    और अगर तुम तिथि करने के लिए चाहते हैं ..... जो न केवल निर्माण की तारीख से कर रहे हैं

टिप्पणी