紧急求助,关于DataTable

wangjingjing390 2003-11-26 05:44:40
我将一个DataGrid(winform)控件绑定到一个datatable,例如datatable1,我使用datagrid对datatable中的一列进行排序后,执行datatable.columns.clear()语句,系统报错说找不到我排序过那一列,请大家帮帮忙,我真的很着急
...全文
25 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqnimin 2003-12-02
  • 打赏
  • 举报
回复
试试
this.BindingContext[dataGrid1.DataSource,dataGrid1.DataMemeber].SuspendBinding();
......
this.BindingContext[dataGrid1.DataSource,dataGrid1.DataMemeber].ResumeBinding();
dldl 2003-12-02
  • 打赏
  • 举报
回复
就是用自动生成的数据窗体,也是用dataview作为数据源,所以还是以dataview
作为数据元,然后再进行排序
wangjingjing390 2003-12-01
  • 打赏
  • 举报
回复
大哥们,你们这样的答案叫我怎么给分嘛,这可是200分的问题啊
我有一个解决方案
首先让datagrid的allowsort属性为false
这时就可以删除所有的列了
所有的列都删除了后就可以设置datagrid的allowsort属性为true
这样下次还可以排序
这个办法只能从表面上解决问题,我想知道更高级一点的方法
simanh 2003-11-26
  • 打赏
  • 举报
回复
在Table层面sort吧
zhpsam109 2003-11-26
  • 打赏
  • 举报
回复
对dataview进行排序应该是最合适的!
godliu521 2003-11-26
  • 打赏
  • 举报
回复
看来大家的方法都很有道理

不过最好不要使用grid对table排序,最好使用table.defaultview做datasource然后排序view
dahuzizyd 2003-11-26
  • 打赏
  • 举报
回复
试试在Clear前使用DataView的ApplyDefaultSort
eyestrong 2003-11-26
  • 打赏
  • 举报
回复
我知道了,由于你清除了所有列,而datagrid是用这个table绑定的,因此这样会出现异常。
在datatable.columns.clear()后面加一句:
dataGrid1.DataSource=null即可解决此问题。
eyestrong 2003-11-26
  • 打赏
  • 举报
回复
eee,我也碰到了,不好意思,楼主:)
eyestrong 2003-11-26
  • 打赏
  • 举报
回复
winform中的datagrid好像没有排序功能啊,楼主要不要贴代码出来看一看。

110,552

社区成员

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

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

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