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



devexpress.xtragrid如何清除数据源呀?


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


devexpress.xtragrid如何清除数据源呀?[已结贴,结贴人:dtwujp]
发表于:2007-01-23 11:31:31 楼主
首先将一个数据源绑定到这个控件中,
gridmzpzquery.datasource=ds.tables[0];
如何将重新绑定到另一个表中如:
gridmzpzquery.datasource=ds.tables[1];
这2个表的结构不同,这时gridmzpzquery显示的还是上一张表的结构,如何能清除上一次的表结构,然后重新绑定一个新的数据源。
发表于:2007-01-23 11:48:291楼 得分:0
重新加载   数据表   源   就可以了
楼主   是不是   加载   代码   写错了
发表于:2007-01-23 12:42:172楼 得分:50
gridcontrol1.mainview.dispose();
                        gridview1   =   new   gridview(gridcontrol1);
                        gridcontrol1.mainview   =   gridview1;

                        gridcontrol1.datasource   =   dt;
                        gridcontrol1.forceinitialize();
发表于:2007-01-23 13:25:483楼 得分:0
gridcontrol1.mainview.dispose();
                        gridview1   =   new   gridview(gridcontrol1);
                        gridcontrol1.mainview   =   gridview1;

                        gridcontrol1.datasource   =   dt;
                        gridcontrol1.forceinitialize();
发表于:2007-01-23 13:33:324楼 得分:0
重新绑定,gridmzpzquery.refresh();
发表于:2007-01-23 13:48:435楼 得分:0
我是根据用户的查询条件,显示不同的结果:
dt是数据表,ds是结果集(dataset)
这此表都经检查有数据:
switch   (lx)
                                {

                                        case   1:
                                                lblqueryname.text   =   hzname.substring(0,   hzname.indexof( '; '));
                                                lblquerylsh.text   =   dt.rows[0][ "invoiceid "].tostring();
                                                lblquerypzh.text   =   dt.rows[0][ "invoicenum "].tostring();
                                                lblquerylx.text   =   gethzlx(dt.rows[0][ "bxtypeid "].tostring());
                                                lblquerydepdes.text   =   dt.rows[0][ "depdes "].tostring();
                                                lblquerydoc.text   =   dt.rows[0][ "personna "].tostring();
                                                lblqueryrevdate.text   =   dt.rows[0][ "revdate "].tostring();
                                                lblqueryfootdate.text   =   dt.rows[0][ "footdate "].tostring();
                                                lblquerydeldate.text   =   dt.rows[0][ "parkdate "].tostring();
                                                lblqueryoperna.text   =   dt.rows[0][ "operna "].tostring();
                                                gridmzpzquery.datasource   =   ds.tables[1];
                                                gridmzpzquery.mainview.refreshdata   ();
                                                gridview8.columns[0].width   =   130;
                                                gridview8.columns[1].width   =   250;
                                                gridview8.columns[2].width   =   90;
                                                gridview8.columns[3].width   =   90;
                                                gridview8.columns[4].width   =   90;
                                                decimal   money   =   0.00m;
                                                for   (int   i   =   0;   i   <   dt.rows.count;   i++)
                                                {
                                                        money   =   convert.todecimal(dt.rows[i][ "revprice "])   +   money;
                                                }
                                                lblquerymoney.text   =   string.format(money.tostring(),   "0.00 ");
                                                if   (ds.tables[2].rows.count   ==   0)
                                                {
                                                        lblqueryybgr.text   =   string.empty;
                                                        lblqueryybzh.text   =   string.empty;
                                                }
                                                else
                                                {
                                                        lblqueryybgr.text   =   ds.tables[2].rows[0][ "ybpersonprice "].tostring();
                                                        lblqueryybzh.text   =   ds.tables[2].rows[0][ "ybaccount "].tostring();
                                                        lblqueryname.text   =   ds.tables[2].rows[0][ "name "].tostring();
                                                }
                                                break;
                                        case   2:

                                                lblqueryname.text   =   hzname.substring(0,   hzname.indexof( '; '));
                                                lblquerylsh.text   =   dt.rows[0][ "reginum "].tostring();
                                                lblquerypzh.text   =   lblquerylsh.text;//dt.rows[0][ "invoicenum "].tostring();
                                                lblquerylx.text   =   "自费 ";//   gethzlx(dt.rows[0][ "bxtypeid "].tostring());
                                                lblquerydepdes.text   =   dt.rows[0][ "depdes "].tostring();
                                                lblquerydoc.text   =   dt.rows[0][ "typedes "].tostring();
                                                lblqueryrevdate.text   =   dt.rows[0][ "regidate "].tostring();
                                                lblqueryfootdate.text   =   dt.rows[0][ "footdate "].tostring();
                                                lblquerydeldate.text   =   dt.rows[0][ "parkdate "].tostring();
                                                lblqueryoperna.text   =   dt.rows[0][ "operna "].tostring();
                                                lblquerymoney.text   =   dt.rows[0][ "金额 "].tostring();
                                               
                                                gridmzpzquery.datasource   =   dt;
                                               
                                                gridview8.columns[0].visible   =   false;
                                                gridview8.columns[1].visible   =   false;
                                                gridview8.columns[2].visible   =   false;
                                                gridview8.columns[3].visible   =   false;
                                                gridview8.columns[4].width   =   90;
                                                gridview8.columns[5].width   =   90;
                                                gridview8.columns[6].width   =   90;
                                                gridview8.columns[7].width   =   90;
                                                gridview8.columns[8].visible   =   false;
                                                gridview8.columns[9].visible   =   false;
                                                gridview8.columns[10].visible   =   false;
                                                gridview8.columns[11].visible   =   false;
                                                gridview8.columns[12].visible   =   false;
                                                break;
                                        default:
                                                break;
                                }

由于查询结果表的结构不同,在查询第一项后再查第二项就报索引超出的错误,

发表于:2007-01-23 13:53:206楼 得分:0
由于第一次查询的字段小,但第二项查询的字段多,为什么数据源改变,控件显示的字段不能同时改变,
发表于:2007-01-23 14:11:237楼 得分:50
太复杂了,建两个gridview,切换数据源的同时切换gridcontrol.mainview
发表于:2007-01-23 14:40:198楼 得分:0
gridview1.columns.clear
发表于:2007-01-23 14:40:409楼 得分:0
然后再
gridmzpzquery.datasource=ds.tables[1];
发表于:2007-01-23 15:44:4710楼 得分:0
private   void   cleargrid(datatable   dt,int   lx)
                {
                        gridmzpzquery.mainview.dispose();
                        devexpress   .xtragrid.views   .grid.gridview       g8   =   new   gridview(gridmzpzquery);
                      g8.appearance.grouppanel.font   =   new   system.drawing.font( "宋体 ",   9f,   system.drawing.fontstyle.regular,   system.drawing.graphicsunit.point,   ((byte)(134)));
                        g8.appearance.grouppanel.options.usefont   =   true;
                        g8.appearance.grouppanel.options.usetextoptions   =   true;
                        g8.appearance.grouppanel.textoptions.halignment   =   devexpress.utils.horzalignment.center;
                        g8.focusrectstyle   =   devexpress.xtragrid.views.grid.drawfocusrectstyle.rowfocus;
                        g8.gridcontrol   =   this.gridmzpzquery;
                        g8.grouppaneltext   =   "票据收费明细表 ";
                        g8.name   =   "g8 ";
                        g8.optionsbehavior.cachevaluesonrowupdating   =   devexpress.data.cacherowvalesmode.disabled;
                        g8.optionsbehavior.editable   =   false;
                        g8.optionscustomization.allowcolumnmoving   =   false;
                        g8.optionscustomization.allowcolumnresizing   =   false;
                        g8.optionscustomization.allowfilter   =   false;
                        g8.optionscustomization.allowgroup   =   false;
                        g8.optionscustomization.allowsort   =   false;
                        g8.optionsfilter.allowfiltereditor   =   false;
                        g8.optionsmenu.enablecolumnmenu   =   false;
                        g8.optionsmenu.enablefootermenu   =   false;
                        g8.optionsmenu.enablegrouppanelmenu   =   false;
                        g8.optionsselection.enableappearancefocusedcell   =   false;
                        g8.optionsview.columnautowidth   =   false;
                        gridmzpzquery.mainview   =   g8;
                        gridmzpzquery.datasource   =   dt;
                        gridmzpzquery.forceinitialize();
                        gridmzpzquery.refreshdatasource();
                        gridmzpzquery.refresh();
                        switch   (lx)
                        {
                                case   1:
                                        g8.columns[0].width   =   130;
                                        g8.columns[1].width   =   250;
                                        g8.columns[2].width   =   90;
                                        g8.columns[3].width   =   90;
                                        g8.columns[4].width   =   90;
                                        break;
                                case   2:
                                        g8.cleargrouping();
                                        //gridmzpzquery.mainview.refreshdata();
                                        //gridmzpzquery.forceinitialize();
                                        g8.columns[0].visible   =   false;
                                        g8.columns[1].visible   =   false;
                                        g8.columns[2].visible   =   false;
                                        g8.columns[3].visible   =   false;
                                        g8.columns[4].width   =   90;
                                        g8.columns[5].width   =   90;
                                        g8.columns[6].width   =   90;
                                        g8.columns[7].width   =   90;
                                        g8.columns[8].visible   =   false;
                                        g8.columns[9].visible   =   false;
                                        g8.columns[10].visible   =   false;
                                        g8.columns[11].visible   =   false;
                                        g8.columns[12].visible   =   false;
                                        break;
                                default:
                                        break;
                        }


                }


结合各位的指点,终于解决了,这个控件如此简单的问题这么复杂,不知各位还有什么方法,明天结账,谢谢各位了!


快速检索

最新资讯
热门点击