當前位置:編程學習大全網 - 網站源碼 - C# winform listview 選中的復選框排序

C# winform listview 選中的復選框排序

ListView本身提供了ListViewItemSorter屬性讓用戶實現自定義的排序。

增加以下代碼可以實現妳要的功能。

?public?class?ListViewSorterAscending?:?System.Collections.IComparer

{

public?int?Compare(object?x,?object?y)

{

//我們需要的是先對所有已選中的項目進行升序排列,然後對未選中的項目進行升序排列

ListViewItem?c1?=?x?as?ListViewItem;

ListViewItem?c2?=?y?as?ListViewItem;

if?(c1.Checked?&&?c2.Checked?||?!c1.Checked?&&?!c2.Checked)

return?c1.Text.CompareTo(c2.Text);

if?(c1.Checked?&&?!c2.Checked)

return?-1;

if?(!c1.Checked?&&?c2.Checked)

return?1;

return?0;

}

}

在某處生成排序器的壹個實例,賦值ListView的排序比較器屬性:

myListView.ListViewItemSorter?=?new?ListViewSorterAscending();

在Button的Click事件中寫:

mylistView.Sort();

需要反向排序請自行改動排序器。

備註:本例排序中參考值是Item的Text屬性,如需使用其他的屬性進行排序請自行修改。

  • 上一篇:iphone桌面顯示數字時鐘
  • 下一篇:安卓操作系統的特點?
  • copyright 2024編程學習大全網