国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# listview 點(diǎn)擊列頭排序的實(shí)例

2020-01-24 00:47:58
字體:
供稿:網(wǎng)友

實(shí)例如下:

#region 自定義變量  int currentCol = -1;  bool sort;  #endregion//列頭點(diǎn)擊事件private void lvw_ColumnClick(object sender, ColumnClickEventArgs e)  {   string Asc = ((char)0x25bc).ToString().PadLeft(4, ' ');   string Des = ((char)0x25b2).ToString().PadLeft(4, ' ');   if (sort == false)   {    sort = true;    string oldStr = this.lvw.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');    this.lvw.Columns[e.Column].Text = oldStr + Des;   }   else if (sort == true)   {    sort = false;    string oldStr = this.lvw.Columns[e.Column].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');    this.lvw.Columns[e.Column].Text = oldStr + Asc;   }   if(lvw.Columns[e.Column].Tag.ToString()=="n")//在設(shè)計(jì)器中把列頭的tag設(shè)為"n",則表示該列按數(shù)字比較器處理,否則為文本    lvw.ListViewItemSorter = new ListViewItemComparerNum(e.Column, sort);   else    lvw.ListViewItemSorter = new ListViewItemComparer(e.Column, sort);   this.lvw.Sort();   int rowCount = this.lvw.Items.Count;   if (currentCol != -1)   {    if (e.Column != currentCol)     this.lvw.Columns[currentCol].Text = this.lvw.Columns[currentCol].Text.TrimEnd((char)0x25bc, (char)0x25b2, ' ');   }   currentCol = e.Column;  }//文本比較器public class ListViewItemComparer : IComparer  {   public bool sort_b;   public SortOrder order = SortOrder.Ascending;   private int col;   public ListViewItemComparer()   {    col = 0;   }   public ListViewItemComparer(int column, bool sort)   {    col = column;    sort_b = sort;   }   public int Compare(object x, object y)   {    if (sort_b)    {     return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);    }    else    {     return String.Compare(((ListViewItem)y).SubItems[col].Text, ((ListViewItem)x).SubItems[col].Text);    }   }  }  //數(shù)字比較器  public class ListViewItemComparerNum : IComparer  {   public bool sort_b;   public SortOrder order = SortOrder.Ascending;   private int col;   public ListViewItemComparerNum()   {    col = 0;   }   public ListViewItemComparerNum(int column, bool sort)   {    col = column;    sort_b = sort;   }   public int Compare(object x, object y)   {    decimal d1=Convert.ToDecimal(((ListViewItem)x).SubItems[col].Text);    decimal d2=Convert.ToDecimal(((ListViewItem)y).SubItems[col].Text);    if (sort_b)    {     return decimal.Compare(d1,d2);    }    else    {     return decimal.Compare(d2,d1);    }   }  }

以上這篇C# listview 點(diǎn)擊列頭排序的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南陵县| 石城县| 安远县| 正宁县| 江川县| 庐江县| 临漳县| 孝感市| 南丰县| 叙永县| 宜都市| 阳江市| 贵定县| 齐河县| 瑞昌市| 景泰县| 德保县| 永靖县| 和硕县| 济宁市| 花莲市| 尚志市| 尼勒克县| 永康市| 张家港市| 桃江县| 宣化县| 买车| 白水县| 禄丰县| 淳安县| 紫阳县| 娄烦县| 重庆市| 柘荣县| 威远县| 龙海市| 山阴县| 龙海市| 陕西省| 木兰县|