/// <summary>
/// 排序顺序
/// </summary>
bool asc;


/// <summary>
/// Dgv点击排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dgv_Jobs_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
int index = e.ColumnIndex;
if (asc)
{
switch (index)
{
case :
listStaffs = listStaffs.OrderByDescending(w => w.Age).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.Wage).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.MainAblity).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.AssistantAbility).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.LearningAbility).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.Greed).ToList();
break;
case :
listStaffs = listStaffs.OrderByDescending(w => w.Attitude).ToList();
break;
}
asc = false;
}
else
{
switch (index)
{
case :
listStaffs = listStaffs.OrderBy(w => w.Age).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.Wage).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.MainAblity).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.AssistantAbility).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.LearningAbility).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.Greed).ToList();
break;
case :
listStaffs = listStaffs.OrderBy(w => w.Attitude).ToList();
break;
}
asc = true;
}
dgv_Jobs.DataSource = listStaffs;
}

可以通过对datasource排序实现

Winform Datagridview 点击headercolumn排序的更多相关文章

  1. winform dataGridView 点击列标题排序

    winform手动绑定数据后,点击列标题不能实现自动排序,苦苦寻找方法,发现下面的是可行的. //建立DataTable将当前dataGridView中的数据读进DataTable中 public D ...

  2. winform datagridview 绑定泛型集合变得不支持排序的解决方案

    原文:winform datagridview 绑定泛型集合变得不支持排序的解决方案 案例: 环境:Winform程序 控件:Datagridview 现象:Datagridview控件绑定到List ...

  3. winform中datagridview刷新后的排序记忆

    datagridview先点标题排序,但是重新刷新之后,还是变成窗体加载后的样子 我这里用定时器刷新的. 1.先定义三个全局变量 /// <summary> /// 需要排序的列和方向 / ...

  4. C#中winform DataGridView常用修改点

    1.修改列名 一般情况下,从数据库里面读取的列名是英文或者拼音,但是,有时候显示需要中文,这样就需要修改列名了. dgv.Columns[0].HeaderCell.Value="编号&qu ...

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

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

  6. 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案

    上周在开发Winform 项目中,我曾遇到一个看似简单,但一直都没有解决的问题,那就是:设置winform DataGridView控件的行DefaultCellStyle,但却没有任何变化,我也曾求 ...

  7. C#实现WinForm DataGridView控件支持叠加数据绑定

    我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...

  8. WinForm DataGridView 绑定泛型List(List<T>)/ArrayList不显示的原因和解决

    背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI ...

  9. C# winform DataGridView 常见属性

    C# winform DataGridView 属性说明① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行.列的隐藏和删 ...

随机推荐

  1. HTTP - Session 机制

    HTTP 是种无状态的协议,即使用 HTTP 协议时,每次发送请求都会产生对应的新响应,协议本身不会保留之前一切的请求或响应报文的信息.这是为了更快地处理大量事务,确保协议的可伸缩性,而特意把 HTT ...

  2. 【网络收集】MySql中IS NOT NULL与!=NULL的区别

    在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如果去运行一下试试的话差别会很大!为什么会出现这种情况呢?null 表示什么也 ...

  3. MYSQL 排行类的相关SQL写法,仅供参考

    SELECT * FROM () )) b

  4. 基于 HTML5 的数据存储

    以前想做个静态网页APP.最初的思路是用本地文件存储数据,后来发现在手机上运行时,文件无法找到. 经过了长达几个月的搜索(实际也就几天),没有找到合适的方法. 就在绝望的时候,无意间搜到基于HTML5 ...

  5. C# 线程--第三线程池

    概述 线程池有那些优点: 1.在多线程中线程池可以减少我们创建线程,并合理的复用线程池中的线程.因为在线程池中有线程的线程处于等待分配任务状态. 2.不必管理和维护生存周期短暂的线程,不用在创建时为其 ...

  6. 20141015--for语句2

    for语句,打印等腰三角形: 第一种方法:(使用for语句嵌套) 第二种方法:(定义string型变量) 以下是其他形状的等腰三角形: (穿插使用了for语句嵌套,定义string型)

  7. SQL基础知识

    一.检索前5行数据 1.SQL Server和Access中使用SELECT时,可以使用TOP关键字来限制最多返回多少行 SELECT TOP 5 prod_name FROM Products; 2 ...

  8. 问题解决:引入com.sun.management.OperatingSystemMXBean 出错

    不能import  com.sun.management.OperatingSystemMXBean 解决: Eclipse默认把这些受访问限制的API设成了ERROR.只要把Windows-Pref ...

  9. Kernel Panic常见原因以及解决方法

    Technorati 标签: Kernel Panic 出现原因 1. Linux在中断处理程序中,它不处于任何一个进程上下文,如果使用可能睡眠的函数,则系统调度会被破坏,导致kernel panic ...

  10. Windows内存管理[转]

    本文主要内容:1.基本概念:物理内存.虚拟内存:物理地址.虚拟地址.逻辑地址:页目录,页表2.Windows内存管理3.CPU段式内存管理4.CPU页式内存管理 一.基本概念1. 两个内存概念物理内存 ...