c# dataGridView排序

一、对阿拉伯数字进行自定义排序:

简单有效方法:

  1.该列的sortmode属性为auto...(一般默认)

  2.比如首列序号,添加该列数据的时候直接添加int即可。切忌不要用string。

object[] newRow = new object[11];
            DataGridImageList.Rows.Clear();
            int numSum = cims.Count;
            foreach (var cim in cims)
            {
                newRow[0] = (numSum--);
                newRow[1] = cim.customername;
                newRow[2] = cim.sex;

                string birth = cim.birthday.Split('-')[0];
                if (birth == "" || birth == null || birth == "null")
                {
                    newRow[3] = "10";
                }
                else
                {
                    int nowYear = int.Parse(DateTime.Now.Year.ToString());
                    newRow[3] = nowYear - int.Parse(birth) + "";
                }

                newRow[4] = "" + cim.IDCard.ToString().Substring(0, 6) + "********";
                if (cim.IDCard.Length > 14)
                {
                    newRow[4] += cim.IDCard.ToString().Substring(14);
                }
                newRow[5] = cim.createtime.ToString();
                newRow[6] = cim.imagecount.ToString();
                newRow[7] = cim.ShuXing;
                newRow[8] = cim.SeriesState.ToString();
                newRow[9] = cim.siteName;
                newRow[10] = cim.SeriesID;

                DataGridImageList.Rows.Add(newRow);
                i = i + 1;
            }

二、其他自定义排序:

1.该列的sortmode属性为programming

2.该datagridview添加columHeaderClick事件

3.在该事件中添加自定义排序。

自定义排序方法:(经百度,未测试)

1.添加datagridview的datasource值。

    this.dtSpiderSummary = new DataTable();
    dtSpiderSummary.Columns.Add("日志文件");
    dtSpiderSummary.Columns.Add("大小(M)");
    foreach (var item in SpiderHelper.SpiderAgents)
    {
          dtSpiderSummary.Columns.Add(item.Key);
    }

    DataRow row = dtSpiderSummary.NewRow();
    dtSpiderSummary.Rows.Add(row);
   dataGridView1.DataSource=dtSpiderSummary;

 2.对该dataSource进行排序。

posted @ 2018-10-11 11:28  风影我爱罗  阅读(9539)  评论(0编辑  收藏  举报