datagridview 点击列标题排序后,自定义列数据清空的问题

highscore2 2013-08-20 06:40:04
datagridview 数据源为一个datatable, 另外自已手工添加了一个自定义的列ColA,ColA没有绑定数据库的列,用代码设置该列每个单元格的值。
现在的问题是,当点击列标题时,这个ColA的值被清空了,有什么方法可以让它不清空吗?
...全文
282 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2013-08-23
  • 打赏
  • 举报
回复
你可以在dataGridView1_ColumnHeaderMouseClick这个事件再把自定义列绑定上(ps:自定义列些个公用方法获取)
lele_nancy 2013-08-23
  • 打赏
  • 举报
回复
Datagridview.datasource = datatable 绑定后的排序可能自动加载了。
highscore2 2013-08-23
  • 打赏
  • 举报
回复
6楼的方法可以哦,给datatable加一个假的列,再赋值给这个列,datagrid应该就不会清空了,我去试试看
东海凌波 2013-08-22
  • 打赏
  • 举报
回复
把自定义列不要直接加到GRID里面,加到数据源里面作为数据源的一个COLUMN,在GRID里面新增一列,显示自定义列
highscore2 2013-08-22
  • 打赏
  • 举报
回复
看来没有直接的没办法了
highscore2 2013-08-20
  • 打赏
  • 举报
回复
有没高手能解释一下,为什么排序后,自定义的列会清空,排序的时候datagrid干了什么事情了,非得把原来的值清空, 难度排序也要从数据库中重新取数据?
highscore2 2013-08-20
  • 打赏
  • 举报
回复
不行啊,运算数据不只在数据库,还要到其它地方拿
全栈极简 2013-08-20
  • 打赏
  • 举报
回复
我给你一个建议:尽量将什么计算的,派生列的操作放到数据库存储过程中实现,然后直接绑定到datagridview。
highscore2 2013-08-20
  • 打赏
  • 举报
回复
我现在的做法是在sorted事件中加代码重新计算,但这样不太好,datatable的数据根本没变化,又重新计算一次没必要,而且计算过程比较复杂,数据多的时候会卡。

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧