<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Mobile</title><link>https://www.dotnetzone.gr:443/cs/forums/31/ShowForum.aspx</link><description>Θέματα development για SmartPhones, Pocket PC και γενικά φορητές συσκευές με το .NET Compact Framework και τα ASP.NET mobile controls</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Cannot Sort Listview</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/17002.aspx</link><pubDate>Thu, 21 Sep 2006 14:49:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:17002</guid><dc:creator>PhillipMorris</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/17002.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=31&amp;PostID=17002</wfw:commentRss><description>&lt;P&gt;Προσπαθώντας να βρω μια λύση στο Sorting του Listview βρήκα στο MSDN αυτό :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms229643.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms229643.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;το οποίο και εφάρμοσα.&lt;/P&gt;
&lt;P&gt;Μόλις λοιπόν ξεκινά το project και κάνω κλικ στην στήλη του Listview παράγεται το : InvalidCastException was unhandled στην πρώτη γραμμή.&lt;/P&gt;
&lt;P&gt;Παραθέτω και το κώδικα του listview_ColumnClick&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue"&gt;Private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Sub&lt;/SPAN&gt; listView1_ColumnClick(&lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; sender &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Object&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;ByVal&lt;/SPAN&gt; e &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; ColumnClickEventArgs)&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Create an instance of the ColHeader class. &lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; clickedCol &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; ColHeader = CType(&lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.Columns(e.Column), ColHeader)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Set the ascending property to sort in the opposite order.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clickedCol.ascending = &lt;SPAN style="COLOR: blue"&gt;Not&lt;/SPAN&gt; clickedCol.ascending&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Get the number of items in the list.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; numItems &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Integer&lt;/SPAN&gt; = &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.Items.Count&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Turn off display while data is repoplulated.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.BeginUpdate()&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Populate an ArrayList with a SortWrapper of each list item.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; SortArray &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; ArrayList&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; i &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt; i = 0 &lt;SPAN style="COLOR: blue"&gt;To&lt;/SPAN&gt; numItems - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortArray.Add(&lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; SortWrapper(&lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.Items(i), e.Column))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Next&lt;/SPAN&gt; i&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Sort the elements in the ArrayList using a new instance of the SortComparer&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' class. The parameters are the starting index, the length of the range to sort,&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' and the IComparer implementation to use for comparing elements. Note that&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' the IComparer implementation (SortComparer) requires the sort&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' direction for its constructor; true if ascending, othwise false.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortArray.Sort(0, SortArray.Count, &lt;SPAN style="COLOR: blue"&gt;New&lt;/SPAN&gt; SortWrapper.SortComparer(clickedCol.ascending))&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Clear the list, and repopulate with the sorted items.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.Items.Clear()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Dim&lt;/SPAN&gt; z &lt;SPAN style="COLOR: blue"&gt;As&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;For&lt;/SPAN&gt; z = 0 &lt;SPAN style="COLOR: blue"&gt;To&lt;/SPAN&gt; numItems - 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.Items.Add(CType(SortArray(z), SortWrapper).sortItem)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Next&lt;/SPAN&gt; z&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;' Turn display back on.&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.listView1.EndUpdate()&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;End&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;Sub&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Μήπως μπορεί να με βοηθήσει κανείς ; Υπάρχει ευκολότερος τρόπος για το sorting ενός Listview ; Όσα παραδείγματα βρήκα αφορούσας desktop εφαρμογές και δεν δούλευαν σε mobile.&lt;/P&gt;
&lt;P&gt;Ευχαριστώ&lt;/P&gt;</description></item></channel></rss>