当对绑定DataTable的DataGridView排序时,DataTable是用其维护的DataView或者DataViewManager实现排序逻辑的,并没有改变DataSource对应的DataTable,所以当我们要获取DataGridView中的排序时,比如用排序后的DataTable打印、导出,就必须常用附加逻辑。

代码如下

 1         /// <summary>
 2         /// 获取DataGridView绑定的包含排序状态的DataTable
 3         /// </summary>
 4         /// <param name="dgv">绑定DataTable的DataGridView</param>
 5         /// <returns>包含排序状态的DataTable</returns>
 6         public DataTable GetSortDataTable(DataGridView dgv)
 7         {
 8             DataView dv = (dgv.DataSource as DataTable).DefaultView;//得到DataView
 9             if (dgv.SortedColumn != null)//判断是否有排序
10             {
11                 dv.Sort = dgv.SortedColumn.DataPropertyName + (dgv.SortOrder == SortOrder.Ascending ? " asc" : " desc");//排序
12             }
13             return dv.ToTable();//返回DataTable
14         }

转载于:https://www.cnblogs.com/YangDengmeng/p/5132637.html

DataGridView和DataTable同步排序相关推荐

  1. 对datatable操作经验-排序和分页

    1.datatable排序1: public DataTable SortDesc(DataTable dt){ DataView dv = new DataView(); dv.Table = dt ...

  2. ASP.NET操作DataTable各种方法总结(给Datatable添加行列、DataTable选择排序等)

    using System; using System.Collections.Generic; using System.Data; using System.Text;namespace Gzcms ...

  3. datatable java排序,JSF数据表(h:dataTable)DataModel排序数据

    JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格.使用DataTable,我们可以迭代收集或数组数组来显示数据.下面我们来学习如何向DataTable使用DataModel排 ...

  4. datatable java排序,Java实现DataTable的过滤,排序,聚合功能

    用过C#的知道, 在.net环境下的有个DataTable对象,数据处理非常方便和强大. 可惜Java本身并没有提供这样的类. 在monalisa-db中提供了一个Java版本的DataTable,  ...

  5. Winform DataGridView根据一列排序

    今天项目中有个需求,需要对Winform的表格DataGridView根据某一列排序. 网上找到了方法:http://csharp.net-informations.com/datagridview/ ...

  6. DataGridView DataSource 如何实现排序

    将数据绑定在下面的类中就可以实现排序 public class SortableBindingList<T> : BindingList<T>{private ArrayLis ...

  7. DataGridView绑定DataTable出现大红叉

    窗口名称:BoxItemRelationQuery 一.用新线程的方法打开窗口 private void btnBoxItemRelationSelect_Click(object sender, E ...

  8. 将dataGridView数据转成DataTable

    如已绑定过数据源: DataTable dt = (dataGridView1.DataSource as DataTable) 如未绑定过数据源: public DataTable GetDgvTo ...

  9. datatable 多字段 排序;

    没有找到datatable的排序方面运用案例,根据接口,自己实现 所以记录一二,小伙伴们有更好的方法,欢迎讨论 1.需求图  2.需求 1)默认 未开启 灰色下箭头 2)第一次点击 :启动排序,降序- ...

最新文章

  1. VSLAM|回环检测之词袋字典效果测试及一点思考
  2. p4: php5ts.dll p5: 5.6.14.0,服务器httpd.exe 应用程序错误
  3. 用户画像是怎么生成出来的?
  4. centos安装mysql5.6系统崩溃_CentOS7安装MySQL5.6冲突总结
  5. ASP.NET 2.0 数据绑定高级技巧
  6. 50. 熟悉与STL相关的Web站点
  7. FR常用技巧逐步整理
  8. matlab画直线类型,有关matlab画直线
  9. ShuffleNet v2
  10. u盘如何在计算机应用内存,u盘扩大内存,小编教你如何用U盘扩展内存
  11. 用html页面制作开关,自己做了几个可以直接套用的 HTML5 小开关
  12. eclipse建java gui工程,Eclipse java swing开发环境搭建教程
  13. 响应式 BootStrap 媒体查询 栅格 组件 scss
  14. 多个安卓设备投屏到电脑_华为手机可以投屏到电脑,那其他安卓手机呢?其实非常简单...
  15. 2019北邮网安院机试真题(回忆版)@lantin
  16. cesium加载气象数据
  17. LOAM中消除IMU重力影响解析
  18. unity3d实现第一人称射击游戏之CS反恐精英(一)(第一人称移动)
  19. windows正版验证问题。。。
  20. 多媒体可以分为计算机技术还有什么,东师多媒体计算机技术17秋在线作业1(标准答案)...

热门文章

  1. 汇编实验注意点(待补充和更新)
  2. 有始有终,设计一个结构合理的下载模块
  3. 30种优化查询速度的方法
  4. UML静态建模之用例图
  5. (五)WebRTC手记Channel概念
  6. 微软笔试题 2013暑期实习笔试题目
  7. 安全的加强的linux:SELinux
  8. IEnumerable是否应该实现IEnumerable接口
  9. 硬盘和显卡的访问与控制(一)——《x86汇编语言:从实模式到保护模式》读书笔记01
  10. Android Wear开发者预览版入门