日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

listview winfrom 表头_winform ListView点击行表头,排序

發布時間:2025/3/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 listview winfrom 表头_winform ListView点击行表头,排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一種辦法:

將ListView的數據放入DataView中,設置DataView的Sort屬性,然后將DataView中的內容在ListView中展示出來。

(1)初始化ListView,將ListView的數據存入DataTable中

(2)從DataTable中獲得DataView

(3)設置DataView的Sort屬性,根據條件進行設定

(4)將DataView中的數據在ListView中展示出來

aaa.txt:

1 usingSystem;2 usingSystem.Data;3 usingSystem.IO;4 usingSystem.Text;5 usingSystem.Windows.Forms;6

7 namespacebatch8 {9 public partial classForm3 : Form10 {11 publicForm3()12 {13 InitializeComponent();14 }15 DataTable dt = null;16 private void Form3_Load(objectsender, EventArgs e)17 {18 //添加DataTable的列表頭

19 dt = newDataTable();20 dt.Columns.Add("num");21 dt.Columns.Add("name");22 dt.Columns.Add("age");23 string path = @"C:\Users\Administrator\Desktop\aaa.txt";24 //讀取文本文件內容

25 string[] ss =File.ReadAllLines(path, Encoding.Default);26 foreach (string s inss)27 {28 string[] a = s.Split(new char[] { ' '}, StringSplitOptions.RemoveEmptyEntries);29 //往listView1中添加數據

30 ListViewItem li = newListViewItem();31 li.Text = a[0];32 li.SubItems.AddRange(new string[] { a[1], a[2] });33 listView1.Items.Add(li);34 //往DataTable中添加行數據

35 dt.Rows.Add(a[0], a[1], a[2]);36 }37 }38 int sortfield = -1;39 ///

40 ///listView1的列頭點擊事件41 ///

42 ///

43 ///

44 private void listView1_ColumnClick(objectsender, ColumnClickEventArgs e)45 {46 if (dt == null) return;47 //獲得有內容的DataView

48 DataView dv = newDataView(dt);49 //獲得所點列的索引

50 int sf =e.Column;51 if (sortfield ==sf)52 {53 //設置sort

54 dv.Sort = dt.Columns[sf].ColumnName + "desc";55 sortfield = -1;56 }57 else

58 {59 dv.Sort = dt.Columns[sf].ColumnName + "asc";60 sortfield =sf;61 }62 //展示DataView中的內容

63 listView1.Items.Clear();64 foreach (DataRowView drv indv)65 {66 ListViewItem li = newListViewItem();67 li.Text = drv[0].ToString();68 li.SubItems.Add(drv[1].ToString());69 li.SubItems.Add(drv[2].ToString());70 listView1.Items.Add(li);71 }72

73 }74 }75 }

View Code

重寫一個排序方法,進行方法綁定,可以具體問題具體分析,靈活性大。

1 classListViewColumnSorter : IComparer2 {3 private intcolumnToSort;4 privateSortOrder orderOfSort;5 privateCaseInsensitiveComparer objectCompare;6 publicListViewColumnSorter()7 {8 columnToSort = 0;9 orderOfSort =SortOrder.None;10 objectCompare = newCaseInsensitiveComparer();11 }12

13

14 int IComparer.Compare(object x, objecty)15 {16 int result = 0;17 ListViewItem lx =(ListViewItem)x;18 ListViewItem ly =(ListViewItem)y;19 string xtext =lx.SubItems[columnToSort].Text;20 string ytext =ly.SubItems[columnToSort].Text;21 int xx = 0, yy = 0;22 if (int.TryParse(xtext, out xx) && int.TryParse(ytext, outyy))23 result =xx.CompareTo(yy);24 else

25 result =xtext.CompareTo(ytext);26 if (orderOfSort ==SortOrder.Ascending)27 returnresult;28 else if (orderOfSort ==SortOrder.Descending)29 return -result;30 else

31 return 0;32 }33 public intsortColumn34 {35 set { columnToSort =value; }36 get { returncolumnToSort; }37 }38 publicSortOrder order39 {40 set { orderOfSort =value; }41 get { returnorderOfSort; }42 }43

44

45

46 }47

48 classListViewHelper49 {50 publicListViewHelper() { }51 public static void listView_columnClick(objectsender, ColumnClickEventArgs e)52 {53

54 ListView lv = sender asListView;55 lv.Cursor =Cursors.Hand;56 if (e.Column == ((ListViewColumnSorter)lv.ListViewItemSorter).sortColumn)//排序方式

57 {58 if (((ListViewColumnSorter)lv.ListViewItemSorter).order ==SortOrder.Ascending)59 ((ListViewColumnSorter)lv.ListViewItemSorter).order =SortOrder.Descending;60 else

61 ((ListViewColumnSorter)lv.ListViewItemSorter).order =SortOrder.Ascending;62

63 }64 else

65 {66 ((ListViewColumnSorter)lv.ListViewItemSorter).sortColumn =e.Column;67 ((ListViewColumnSorter)lv.ListViewItemSorter).order =SortOrder.Ascending;68 }69 lv.Sort();70 }71 }

View Code

以上代碼封裝后無須更改,在窗體中添加一個ListView控件,在窗體的Load事件中添加如下代碼:

private void Form1_Load(object sender, EventArgs e)

{

this.listView1.ListViewItemSorter = new Common.ListViewColumnSorter();

this.listView1.ColumnClick += new ColumnClickEventHandler(Common.ListViewHelper.ListView_ColumnClick);

}

完!

總結

以上是生活随笔為你收集整理的listview winfrom 表头_winform ListView点击行表头,排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人人爽人人爽人人片av | 露出调教羞耻91九色 | 91免费在线视频 | 成人www| 午夜在线| 日剧再来一次第十集 | 在线sese | 涩涩免费网站 | 中文字幕25页| 亚洲成a人无码 | 青娱乐极品视频在线 | 狠狠人妻久久久久久综合麻豆 | 在线视频这里只有精品 | 亚洲精品国产精品乱码不99 | 尤物视频官网 | 精品人妻伦一二三区久久 | 欧美片 | 久久人人草 | 欧美成人另类 | 亚洲午夜精品视频 | 国产成人无码精品久久久电影 | 91本色 | 亚洲福利视频一区二区三区 | 国产污视频网站 | 精品动漫一区二区三区的观看方式 | 日日爱夜夜爱 | 中文av资源| 欧美久久影院 | 成人日韩视频 | 波多野结衣一区二区三区免费视频 | 欧美第一精品 | 人妻无码一区二区三区久久 | 黄视频在线观看免费 | 插我一区二区在线观看 | 最新中文字幕av | 伊人影片 | 亚洲成人午夜在线 | 欧美三个黑人玩3p | 91精品国自产在线观看 | 久久久精品一区二区涩爱 | 自拍视频在线播放 | 污视频网站免费看 | 国产精品美女一区 | 欧美日韩精品一区二区在线观看 | 阿v天堂2014 这里有精品 | 中文字字幕在线 | 国产一级免费大片 | 熟妇高潮精品一区二区三区 | 91动态图| 国产一区精品久久 | 综合另类 | 日韩精品一区二区三区色欲av | 性色在线观看 | 欧美一级夜夜爽 | 久久久久五月天 | www.国产在线视频 | 快乐激情网| 女人的毛片 | 亚洲精品免费播放 | 青青草久久伊人 | 五月婷综合网 | 亚洲av片在线观看 | 天天干精品 | 欧美黄色三级视频 | 一级视频毛片 | 亚洲最大视频网 | 婷婷丁香花五月天 | 国产精品毛片久久 | 国产三级国产精品 | 色视频一区二区 | 欧美精品一区二区久久婷婷 | 国产午夜三级 | 成人午夜高清 | 麻豆人妻少妇精品无码专区 | caoporn免费在线 | 91手机视频 | 亚洲天堂久久 | 一级特黄色片 | 白浆在线播放 | 天天综合中文字幕 | 国产无遮无挡120秒 欧美综合图片 | 被绑在床强摁做开腿呻吟 | 兄弟兄弟全集免费观看 | 日韩av在线看免费观看 | 人妻少妇一区二区三区 | 国产99久久精品 | 人与嘼交av免费 | 天堂网在线中文 | 性色视频在线观看 | 亚洲欧美在线成人 | 亚洲天堂五月天 | 久久福利视频网 | 日日日插插插 | 国产在线播放一区二区三区 | 中文字幕精品三区 | 男女午夜激情 | 黄色av免费在线 | 日本欧美在线播放 | 三级影片在线免费观看 |