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



datagridview的列顺序为何总是乱(高分)


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


datagridview的列顺序为何总是乱(高分)[已结贴,结贴人:junqiang]
发表于:2007-02-15 14:25:36 楼主
在设计时给列已排好的顺序,但运行时显示列乱七八糟,前面到了后面,后面到了前面,不知怎么办?
发表于:2007-02-15 15:30:101楼 得分:10
你是否在设计的时候指定的列数量与sql查询回来的列数量不符?

发表于:2007-02-15 15:34:512楼 得分:0
你是否在设计的时候指定的列数量与sql查询回来的列数量不符?
=====================================================
有这种情况,顺序也不一致。有办法解决吗?
发表于:2007-02-15 15:37:303楼 得分:10
我每碰见过这种情况啊,代码?
发表于:2007-02-15 15:45:134楼 得分:10
代码呢?
发表于:2007-02-15 16:09:215楼 得分:10
你是自动生成列的吧,先看看代码?
发表于:2007-02-15 16:16:456楼 得分:10
先帮顶
发表于:2007-02-15 17:44:047楼 得分:10
up
发表于:2007-02-15 17:49:548楼 得分:5
可以先在界面上就给datagridview添加全部的可能出现的列。顺序这时候由你定。
等查询结果出来,绑定的时候给个循环,那些列要的就显示,那些列不要的就隐藏。这样绝对不会打乱顺序。
发表于:2007-02-16 08:47:569楼 得分:5
应该不会的  
估计   是你没有把   自动生成列   设为false
发表于:2007-02-16 09:39:3610楼 得分:5
自动绑定的数据源?
那么你是不知道到   数据   到底   有多少列了哦?

这样做   界面肯定会变形
最好是   确定好   数据返回的   列数  
按列数   排列
不使用自动绑定   手动设置
发表于:2007-02-16 09:45:1011楼 得分:5
你已经     自动绑定的数据源


手动绑定就ok

如果自动绑定   需要在sql里   排好字段的顺序
发表于:2007-02-16 10:23:2712楼 得分:5
up
发表于:2007-02-16 10:44:5013楼 得分:5
贴上一下代码,不知道有没有帮助

主要的是最后几行的数据再绑定

private   void   setsort(dslist   ds,   string   sdsnm,   string   sortkey,   gridview   gv)
        {
               
                dataset   dswk   =   ds;
               
                dataset   _copyds   =   dswk.clone();
               
                datatable   _copydt   =   _copyds.tables[ "c_anken "];
               
                dataview   dv   =   new   dataview(dswk.tables[ "c_anken "]);

                string   wksort   =   " ";
                string   sview   =   sdsnm   +   "_ "   +   sortkey;

                if   (viewstate[sview]   !=   null)
                {                        
                        wksort   =   viewstate[sview].tostring();
                }

                string   ssort   =   " ";
               
                if   (wksort.equals( "   asc "))
                {
                        ssort   =   "   desc ";
                }
                else
                {
                        ssort   =   "   asc ";
                }              

                dv.sort   =   sortkey   +   ssort;
               
                foreach   (datarowview   drv   in   dv)
                {
                        _copydt.importrow(drv.row);
                }
               
                ds.clear();
               
                ds   =   (dslist)_copyds.copy();
               
                viewstate[sdsnm]   =   ds;
               
                viewstate[sview]   =   ssort;
               
                gv.datasource   =   ds.c_anken;
               
                gv.pageindex   =   0;
               
                gv.databind();
        }
发表于:2007-02-16 13:38:3214楼 得分:5
up
发表于:2007-02-24 14:51:0015楼 得分:0
是windows程序,我们办公室的同事每个人都一样,顺序会乱。不知大家的为何没有问题?
发表于:2007-03-03 20:40:4316楼 得分:5
问题很简单,就是在查询语句中不要使用select   *,而是使用select   field1,field2,field3   from   table的方式,同时在datagridview的各列的排列顺序要和查询中field1,field2,field3的顺序完全一致,就不会出现各列顺序混乱的问题。
发表于:2007-03-03 20:51:3617楼 得分:0
当然了,各列设计时就建立,并且正确设置各列的datapropertyname属性。


快速检索

最新资讯
热门点击