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

简单有效方法:

  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. Python中模块

    模块 模块对我来说是什么 模块对我来说,感觉就像亲属或者朋友已经走过的路,他们已经趟过的浑水.掉过的坑.践行过的路线,全部提供给你,在你需要的时候请求帮助,借鉴他们的解决方法一样.都是为了方便走好人生 ...

  2. python的requests模块爬取网页内容

    注意:处理需要用户名密码认证的网站,需要auth字段. # -*- coding:utf-8 -*- import requests headers = { "User-Agent" ...

  3. Docker学习系列(一)-CentOS7下安装Docker

    CentOS7下Docker的安装 一.操作系统要求 CentOS 7 64位 Kernel 3.10+ 本机系统信息 二.卸载旧版本 如果之前安排过旧版本的Docker,先卸载掉旧版Docker以及 ...

  4. Ubuntu 16 Java Develop环境快速搭建

    安装JDK 1. 更新apt-get: $ sudo apt-get update 2. 安装jdk: $ sudo apt-get install openjdk-8-jdk 部分eclipse现只 ...

  5. 快速提高谷歌浏览器(Chrome)自带下载器的网速

    之前每次下载东西都是复制好下载链接到迅雷中下载,会提高成倍网速,但是时间一长,感觉不方便,废话不多说,上干货~ 由于中国防火墙(GFW)的强大,在线下载Google浏览器的时候速度非常慢,如果只是单独 ...

  6. aiohttp的模板

    import aiohttp import asyncio import async_timeout from urllib.parse import urljoin,urldefrag root_u ...

  7. Python学习:14.Python面向对象(一)

    一.面向对象简介 Python设计之初,就是一门面向对象的语言,在Python中一切皆对象,而且在Python中创建一个对象也很简单,今天我们就来学习一下Python的面向对象的知识. 二.两种编程方 ...

  8. web安全入门笔记

    0x01 前言 这正邪两字,原本难分. 正派弟子若是心术不正,便是邪徒. 邪派中人只要一心向善,便是正人君子. 0x01 信息安全的定义 信息安全,意为保护信息及信息系统免受未经授权的进入.使用.披露 ...

  9. js判断两个日期是否相等的方法

    今天优化代码的时候,发现一个问题,js比较日期是否相等时,我用==去比较,发现两个时间不相等但是运行结果却是true,然后去百度了下发现oldStartTime, startTime都是对象,类型为引 ...

  10. 关于使用READ TABLE语句

    READ tabe 是用来遍历内表,取第一条符合条件的记录. READ TABLE <itab> [INTO <wa>] WITH KEY <key> [BINAR ...