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

简单有效方法:

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

c# dataGridView排序的更多相关文章

  1. DataGridView使用技巧十三:点击列头实现升序和降序排序

    DataGridView 列有三种排序模式.每一列的排序模式是通过该列的 SortMode 属性指定的,该属性可以设置为以下的 DataGridViewColumnSortMode 枚举值之一. Da ...

  2. winform使用相关

    1.回车键触发按钮点击事件——回车登录 设置窗体的AccessButton属性 2.密码框样式设置 设置PasswordChar为想要的密码显示的样式,如*  3.设置窗口居中 设置StartPosi ...

  3. 禁用datagridview中的自动排序功能

    把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...

  4. DataGridView点击排序完成后如何禁止自动排序

    Summary: Disable sorting after clicking DataGridView columnheader,Prevent databound DataGridView fro ...

  5. datagridview 点击列标题排序

    开发winform中,平时经常用到数据列表,我们大多选用datagridview,但是此控件本身没有排序的功能.参阅网上资料.留下标记,以后备用. datagridview的数据显示一般是通过数据绑定 ...

  6. 多线程更新已排序的Datagridview数据,造成数据错位

    多线程更新已排序的Datagridview数据,触发Datagridview的auto-sort时间,数据重新排序,造成后面更新数据的更新错误. 解决方法: 方法一.设置Datagridview的表头 ...

  7. DataGridView绑定BindingList<T>带数据排序的类

    本文章转载:http://yuyingying1986.blog.hexun.com/30905610_d.html DataGridView绑定List<T>类时候,不会自动的进行排序. ...

  8. DataGridView 列排序 内存表查找

    DataRow[] drow = dt.Select("列名 = 列名的值" ); 就这句话,dt是一个datatable 且断点调试时能看到里面有trade这个列,可为什么执行到 ...

  9. DataGridView 多列排序功能

    System.Data.DataTable dt = new System.Data.DataTable(); private void FillDataGridView() { dt.Columns ...

随机推荐

  1. 虚拟机重启网络服务失败,当查看状态显示错误Failed to start LSB......

    重启网络失败截图 从本质上来看出现这样的问题,是因为拷贝过来的虚拟机重新分配了网卡MAC地址.这样造成的结果是配置文件中MAC与当前网卡MAC不一致.所以只需要修改一下配置文件即可. 用ip addr ...

  2. linux学习笔记三:防火墙设置

    请注意:centOS7和7之前的版本在防火墙设置上不同,只有正确的设置防火墙才能实现window下访问linux中的web应用. centOS6添加端口: vi /ets/sysconfig/ipta ...

  3. nginx 源码安装以及后续升级https

    事情的来源是,公司要将网站从http升级到https,由于历史遗留原因,才发现现有的nginx是通过源码安装的,并没有安装ssl模块,需要现安装sll模块,这个nginx是整个公司最前端的一个代理,涉 ...

  4. s3c2440存储控制器详解

    从上图可知,外部内存类的设备与存储管理器相连,那么CPU是怎样访问到内存的呢?通过存储管理器.CPU比较单纯,只会按照指令执行,CPU只负责发出地址,怎样找到内存类设备呢?这些都交给存储管理器来管理. ...

  5. BurpSuite—-Scanner模块(漏洞扫描)

    一.简介 Burp Scanner 是一个进行自动发现 web 应用程序的安全漏洞的工具.它是为渗透测试人员设计的,并且它和你现有的手动执行进行的 web 应用程序半自动渗透测试的技术方法很相似. 使 ...

  6. scala(9) Monad

    一个单子(Monad)说白了不过就是自函子范畴上的一个幺半群而已.这句话涉及到了几个概念:单子(Monad),自函子(Endo-Functor),幺半群(Monoid),范畴(category). 范 ...

  7. 【转】 GATK--原始数据预处理

    1. 对原始下机fastq文件进行过滤和比对(mapping) 对于Illumina下机数据推荐使用bwa进行mapping. Bwa比对步骤大致如下: (1)对参考基因组构建索引: 例子:bwa i ...

  8. React 组件间通信

    https://jsfiddle.net/69z2wepo/9719/ <script src="https://facebook.github.io/react/js/jsfiddl ...

  9. js点击后将文字复制到剪贴板,将图片复制到画图

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD& ...

  10. 20155229付钰涵-虚拟机安装及LINUX命令学习

    安装Ubuntu遇到的问题 问题一: 新建虚拟电脑的版本只有32-bit,与老师所给教程中的64-bit不符.为此我上百度搜寻了答案. 第一种方法: 控制面板--程序与功能--启动或关闭windows ...