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进行排序。

浙公网安备 33010602011771号