社区
C#
帖子详情
Datagridview排序后重新绑定数据源保持原来列排序
xxjltan
2012-07-21 01:51:48
点datagridview其中一列的列头排序后,再选中一条数据修改数据后,重新绑定datagridview的数据源,要求显示的顺序按原来点击的那一列排序。如何实现哪?
...全文
500
9
打赏
收藏
Datagridview排序后重新绑定数据源保持原来列排序
点datagridview其中一列的列头排序后,再选中一条数据修改数据后,重新绑定datagridview的数据源,要求显示的顺序按原来点击的那一列排序。如何实现哪?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xxjltan
2012-07-22
打赏
举报
回复
结贴了。
xxjltan
2012-07-22
打赏
举报
回复
我的理路是:
获取原排序的列名和排序是按Ascending,还是Descending。
重新绑定数据源后让sort按原来的方式重新排序一遍。
datagridview1.Sort(datagridview1.Columns[列名], Direction);用这一句就搞定了。
足球中国
2012-07-21
打赏
举报
回复
直接附原来绑定源一般是不会改变当前点的。
xxjltan
2012-07-21
打赏
举报
回复
问题已经解决了,是获取列名的代码有问题,有空就把代码发上来。
[Quote=引用 5 楼 的回复:]
按照思路去设计,点击列-记录列名
重载前-表列设置-绑定控件。
[/Quote]
智者知已应修善业
2012-07-21
打赏
举报
回复
按照思路去设计,点击列-记录列名
重载前-表列设置-绑定控件。
智者知已应修善业
2012-07-21
打赏
举报
回复
在重载过程中处理!
xxjltan
2012-07-21
打赏
举报
回复
2楼的打错了,看这里的
我就是不知道在修改按钮事件里面如何把这个列名赋值给sort去,提示所提供的列不属于此 DataGridView 控件。
public main()
{
InitializeComponent();
}
DataGridViewColumn sortColumn;
string cobl;
按钮事件
{
if (cobl == "Ascending")
{
ListSortDirection sortDirection = ListSortDirection.Ascending;
datagridview1.Sort(sortColumn, sortDirection);
}
else
{
ListSortDirection sortDirection = ListSortDirection.Descending;
datagridview1.Sort(sortColumn, sortDirection);
}
datagridview1.CurrentCell = datagridview1.Rows[id].Cells[idf];
}
private void datagridview1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
sortColumn = datagridview1.SortedColumn;
cobl = datagridview1.SortOrder.ToString();
}
xxjltan
2012-07-21
打赏
举报
回复
我就是不知道在修改按钮事件里面如何把这个列名赋值给sort去,提示所提供的列不属于此 DataGridView 控件。
public main()
{
InitializeComponent();
}
DataGridViewColumn sortColumn;
string cobl;
按钮事件
{
if (cobl == "Ascending")
{
ListSortDirection sortDirection = ListSortDirection.Ascending;
datagridview1.Sort(sortColumn, sortDirection);
}
else
{
ListSortDirection sortDirection = ListSortDirection.Descending;
rylzdz.Sort(sortColumn, sortDirection);
}
datagridview1.CurrentCell = rylzdz.Rows[id].Cells[idf];
}
private void rylzdz_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
sortColumn = rylzdz.SortedColumn;
cobl = datagridview1.SortOrder.ToString();
}
[Quote=引用 1 楼 的回复:]
记录原来点击列名,重载后赋值Sort =
[/Quote]
智者知已应修善业
2012-07-21
打赏
举报
回复
记录原来点击列名,重载后赋值Sort =
c#
DataGridView
数据
绑定
示例 多
列
混合
排序
c#
DataGridView
数据
绑定
示例 多
列
混合
排序
,C#新建DataColumn类时Type类型参数的生成方式,获取当前编辑单元格的内容,以及当前编辑的单元格在哪一行哪一
列
。
DataGridView
点
绑定
List击
列
头
排序
DataGridView
绑定
table时可自动点击header
排序
,当
绑定
List集合就不能自动
排序
了,必须通过帮助类实现,这里有详细说明和例子。
C#Winform报表与打印技术——自定义报表的实现
本课程详细讲解在C#Winform程序里,对
DataGridView
展示的数据进行自定义报表格式的设计、预览、打印如何实现
WinForm下的数据
绑定
分页控件
基于第一版的进一步优化 第一版地址:http://download.csdn.net/detail/lxfmq0/4707555 对WinForm下的
DataGridView
控件进行扩展,实现其分页、新增、删除、
排序
等功能,使用方便、简单,该控件适用于大部分的业务逻辑。 实现功能: 1.
数据源
为ArrayList类型的自动分页的可
排序
数据
绑定
控件; 2.
数据源
为ArrayList类型的手动分页的可
排序
数据
绑定
控件; 3.
数据源
为DataTable类型的自动分页的可
排序
数据
绑定
控件; 4.
数据源
为DataTable类型的手动分页的可
排序
数据
绑定
控件。
DataGridView
控件使用大全(转+中文对应)
本文档不准备面面俱到地介绍
DataGridView
,而是着眼于深入地介绍一些技术点的高级特性。 本文档按逻辑分为5个章节,首先是结构和特性的概览,其次是内置的
列
/单元格类型的介绍,再次是数据操作相关的内容,然后是主要特性的综述,最后是最佳实践。 大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。 一、
DataGridView
技术点的高级特性。 11 1 何为
DataGridView
11 1.1
DataGridView
和DataGrid 之间的区别 11 1.2
DataGridView
的亮点 12 2
DataGridView
的结构 13 2.1 结构元素(Architecture Elements) 13 2.2 单元格和组(Cells and Bands) 13 2.3
DataGridView
的单元格 (
DataGridView
Cell) 13 2.3.1
DataGridView
Cell的工作机制 14 2.3.2 常见问题 15 2.4
DataGridView
的
列
(
DataGridView
Column) 16 2.5
DataGridView
的编辑控件(Editing Controls) 16 2.6
DataGridView
Row 17 2.6.1 常见问题 17 3
列
/单元格类型揭密(column/cell types) 17 3.1
DataGridView
TextBoxColumn 18 3.2
DataGridView
CheckBoxColumn 19 3.3
DataGridView
ImageColumn 19 3.4
DataGridView
ButtonColumn 19 3.5
DataGridView
ComboBoxColumn 20 3.5.1 DataError事件和ComboBox
列
20 3.5.2 常见问题 20 3.6
DataGridView
LinkColumn 21 4 操作数据(Working with Data) 21 4.1 数据输入和验证的相关事件 21 4.1.1 数据验证相关事件的顺序 21 4.1.2 验证数据 22 4.1.3 在新行中的数据输入(Data Entry in the New Row) 22 4.1.3.1 显示新行 22 4.1.3.2 为生成的新行添加默认值 22 4.1.3.4 在新行中输入数据 23 4.1.3.5 自定义新行的可视化效果 23 4.1.3.6 新行的
排序
24 4.1.3.7 关于新行,还要注意: 24 4.1.3.8 Virtual Mode下的新行 24 4.2 关于Null值 24 4.2.1 NullValue属性 24 4.2.2 DataSourceNullValue属性 25 4.3 DataError事件 25 4.4 数据
绑定
模式(Databound modes) 26 4.4.1 非
绑定
模式(Unbound Mode) 26 4.4.2
绑定
模式(Bound Mode) 26 4.4.2.1 有效的
数据源
27 4.4.3 虚拟模式 27 4.4.4 混合模式 –
绑定
与非
绑定
模式 27 4.4.5 常见问题 28 5 特性综览(Overview of features) 28 5.1 样式(Styling) 28 5.1.1 The
DataGridView
CellStyle Class 29 5.1.2 Using
DataGridView
CellStyle Objects 29 5.1.3 Style Inheritance 30 5.1.4 Setting Styles Dynamically 34 5.2 Custom painting 35 5.2.1 Paint Parts 35 5.3.1 在Windows窗体
DataGridView
控件调整大小选项 39 5.3.2 Resizing with the Mouse用鼠标调整大小 42 5.3.3 Automatic Sizing自动调整大小 43 5.3.4 Programmatic Resizing编程调整大小 45 5.3.5 Customizing Content-based Sizing Behavior自定义基于内容的调整大小行为 46 5.3.6 Content-based Sizing Options基于内容的调整大小选项 47 5.4 Selection modes选择模式 47 5.4.1 Programmatic Selection编程选择 49 5.5 滚动(Scrolling) 49 5.5.1 Scroll event Scroll事件 49 5.5.2 Scroll bars滚动条 50 5.5.3 Scrolling Properties滚动属性 50 5.6 Sorting
排序
50 5.6.1 Programmatic Sorting编程
排序
52 5.6.2 Custom Sorting自定义
排序
53 5.6.3 Common questions and scenarios常见问题及案例 54 5.7 Border styles边框样式 55 5.7.1 Standard Border Styles标准边框样式 55 5.7.2 Advanced Border Styles高级边框风格 56 5.8 Enter-Edit modes输入,编辑模式 57 5.9 Clipboard copy modes剪贴板拷贝模式 58 5.10 Frozen columns/rows冻结的
列
/行 60 5.11 Implementing Custom cells and editing controls/cells实现自定义和编辑控制单元格/单元格 60 5.11.1 I
DataGridView
EditingControl 接口 61 5.11.2 I
DataGridView
EditingCell 接口 61 5.12 Virtual mode虚拟模式 61 5.12.1 Bound Mode and Virtual Mode
绑定
模式和虚拟模式 62 5.12.2 Supplementing Bound Mode补充
绑定
模式 62 5.12.3 Common questions and scenarios常见问题及案例 62 5.12.4 Replacing Bound Mode更换
绑定
模式 63 5.12.5 Virtual-Mode Events虚拟模式事件 63 5.12.6 Best Practices in Virtual Mode在虚拟模式下的最佳实践 66 5.13 容量(Capacity) 66 6 最佳实践(Best Practices) 67 6.1 Using Cell Styles Efficiently使用高效单元格样式 67 6.2 Using Shortcut Menus Efficiently使用高效快捷菜单 68 6.3 Using Automatic Resizing Efficiently使用自动调整大小高效 69 6.4 Using the Selected Cells, Rows, and Columns Collections Efficiently高效使用选定的单元格,行和
列
的集合 69 6.5 Using Shared Rows 使用共享行 70 6.6 Preventing Rows from Becoming Unshared 防止行成为非共享 72 附录 A – FAQ 75 1. 如何使指定的单元格不可编辑? 75 2. 如何让一个单元格不可用(disable)? 75 3. 如何避免用户将焦点设置到指定的单元格? 77 4. 如何使所有单元格总是显示控件(不论它是否处于编辑状态)? 77 5. Why does the cell text show up with “square” characters where they should be new lines(TODO,未能实现该效果)? 78 6. 如何在单元格内同时显示图标和文本? 78 7. 如何隐藏一
列
? 80 8. 如何避免用户对
列
排序
? 81 9. 如何针对多个
列
排序
? 81 9.1 将数据
绑定
到
DataGridView
时 81 9.2 Unbound
DataGridView
取消
绑定
82 9.2.1 Custom Sorting Using the SortCompare Event 使用
排序
结束时间实现用户自定义
排序
82 9.2.2 Custom Sorting Using the IComparer Interface使用IComparer接口实现自定义
排序
84 10. 如何为编辑控件添加事件处理函数? 86 11. 应在何时移除编辑控件的事件处理函数? 87 12. 如何处理ComboBox
列
中控件的SelectIndexChanged事件? 87 13. 如何通过拖放调整行的顺序? 87 14. 如何调整最后一
列
的宽度使其占据网格的剩余客户区? 89 15. 如何让TextBox类型的单元格支持换行? 89 16. 如何使Image
列
不显示任何图像(字段值为null时)? 90 17. 如何能够在ComboBox类型的单元格中输入数据? 90 18. How do I have a combo box column display a sub set of data based upon the value of a different combo box column(TODO)? 91 19. 如何在用户编辑控件的时候(而不是在验证时)就显示错误图标? 92 20. 如何同时显示
绑定
数据和非
绑定
数据? 94 21. How do I show data that comes from two tables(TODO)?如何显示来自两个
数据源
的数据? 96 22. 如何显示主从表? 97 23. 如何在同一
DataGridView
中显示主从表? 99 24. 如何避免用户对
列
排序
? 99 25. 如何在点击工具栏按钮的时候将数据提交到数据库? 99 26. 如何在用户删除记录时显示确认对话框? 99
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章