您的位置:程序门 -> .net技术 -> c#



datagridview排序问题(着急)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


datagridview排序问题(着急)
发表于:2007-02-05 11:08:44 楼主
现在datagridview的数据被排序后,和table中的数据的顺序不一致,造成index混乱。

怎么做才能实现同步呀!给我一些代码吧,我都愁死了~~
发表于:2007-02-05 13:09:201楼 得分:0
大家帮忙呀!!

跪求呀~
发表于:2007-02-05 14:16:022楼 得分:0
没办法,只能在做操作时不用index
发表于:2007-02-05 14:17:203楼 得分:0
锁定datagridview,不让它排序
发表于:2007-02-05 14:24:294楼 得分:0
把每个datagridcolumn的排序功能禁掉
发表于:2007-02-05 14:25:595楼 得分:0
晕,用bindingsource.取datarowview中的数据,而不是datatable中的数据。
发表于:2007-02-05 14:27:026楼 得分:0
不能禁止排序,大家看看怎么实现同步,高手帮帮忙呀!
发表于:2007-02-05 14:29:017楼 得分:0
foreach   (datagridviewcolumn   dgvcol   in   datagridviewappend.columns)
                        {
                                dgvcol.sortmode   =   datagridviewcolumnsortmode.notsortable;
                        }
发表于:2007-02-05 14:40:508楼 得分:0
好办,在datagridview中添加一列(visible   =   false),用于存储index。
发表于:2007-02-05 14:46:339楼 得分:0
添加下面的函数this.datagridview1.sorted   +=   new   system.eventhandler(this.datagridview1_sorted);
你自己要在类中保存一个变量,标示table中的数据是否经过排序
1,如果table中数据没有经过排序,this.datagridview1_sorted方法中对table进行排序
2,如果table中数据已经经过排序,this.datagridview1_sorted方法中对table中数据进行reverse
这样,table中的数据,和画面中的数据的顺序就一致了。

大家看看这种思路怎么转换成代码,实在想不明白!!

谢谢
发表于:2007-02-05 16:14:0010楼 得分:0
刚才不是说了用bindingsource吗?
private   bindingsource   bs=new   bindingsource();

private   dataset   ds=new   dataset();
//填充记录.........
bs.bindingsource=ds;
bs.datamember= "表名 "

this.dgv你的grid控件.datasource=bs;

这样binding   .....

当需要选择某一行时,取bs.current,就是视图中的当前行,会自动对应datatable中的记录


快速检索

最新资讯
热门点击