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