DevExpress中GridControl的重新绑定数据后如何刷新?
DevExpress中GridControl的重新绑定数据后如何刷新?第一次把gridControl1.DataSource = ds1.Tables["墒情信息表"];
然后显示一切正常
第二次gridControl1.DataSource = ds2.Tables["雨量信息表"];
这一次GridControl显示的列名还是之前墒情表的名称,请问如何刷新?????急啊!!! --------------------编程问答-------------------- 你有没有一个事件来触发
你指的第二次绑定是在什么情况下出现的
一个按钮,还是一个方法,
如果是web程序
应该这样做
ViewState["datasource"]=ds1
如果第二次改你就这样
ViewState["datasource"]=ds2
然后在page_load
方法中
if(ViewState["datasource"]!=null)
{
grid.datasource=ViewState["datasource"] as DataSet;
}
就是用这样的方式,你改改
我们不管有几个数据源,只要有回传,或是执行事件都会经过page_load这样只要你更改了数据源,grid就会跟着变 --------------------编程问答-------------------- gridControl1.DataSource =null
加个这句看一下
--------------------编程问答-------------------- gridControl1.DataSource = ds2.Tables["雨量信息表"];
gridControl1.DataBind(); --------------------编程问答-------------------- 没看到这个方法啊!! --------------------编程问答-------------------- 试了下不管用,什么gridControl1.Update();
gridControl1.Refresh();
都试过了,grid里面还是显示第一次查询时的列名,重新付给新的DataSource后什么都不显示啊~而且新的 ds2.Tables["雨量信息表"];里面绝对有数据,其他的一些显示控件都可以显示~就是grid纠结啊~!
--------------------编程问答-------------------- 还有一点要说明下,我用的不是VS的控件,不是DataGiridView,而是DexExpress里面的gridControl,和VS的有区别,单功能相同!有木有这个控件的高手帮看看怎么更新里面的数据显示~! --------------------编程问答-------------------- 不太可能吧
gridControl1.DataSource = ds1.Tables["墒情信息表"];
gridView1.Columns.Clear(); //gridControl1.DataSource = null; 没用?
gridControl1.DataSource = ds2.Tables["雨量信息表"];
--------------------编程问答-------------------- 跟踪测试一下看看 --------------------编程问答-------------------- 你把你的代码放出来
包括load方法,看下,是不是哪里没写对 --------------------编程问答-------------------- clear也试过了的!没用列名依然是墒情信息表的~ --------------------编程问答-------------------- 跟踪测试了,代码没错啊,DataSource的第二次赋值(gridControl1.DataSource = ds2.Tables["雨量信息表"];
)也执行了,但是显示出来的时候列名依然是墒情信息表的,并且下面没数据,但是回过去继续查询“墒情信息表”的话就一切正常,难道DataSource在一次赋值后被锁定了吗????用VS自己的控件重来没出现这个问题啊~ --------------------编程问答-------------------- 代码很多啊,话说和load有什么关系,我又木有重新打开窗体~ --------------------编程问答-------------------- 我也没找到刷新方法。
但我用了一个变通的方法:this.gridView1.BestFitColumns();很好用的。 --------------------编程问答-------------------- Grid1.RefreshDataSource --------------------编程问答-------------------- 在第二次给DataSource赋值后,列名依然是第一次的“墒情信息表”的列名,但我发现“雨量信息表”中和“墒情信息表”列名相同的数据可以显示,不相同的数据显示不了,是不是
DevExpress中GridControl控件会锁定它第一次显示的列名啊???有什么办法可以改变吗???求DevExpress控件高手啊!!!! --------------------编程问答-------------------- 用过,列名依然不变~ --------------------编程问答-------------------- 没找到这个方法啊~我用的是DevExpress中GridControl控件,不是VS的datagridview~ --------------------编程问答-------------------- 楼主没有办法,你就用两个panel吧,然后用两个控件,通过显示控制来实现两个数据源的显示
实在没有遇到这样的问题
--------------------编程问答-------------------- ....是不是要设置一下gridcontrol的属性啊,直接吧表赋值给gridControl1.DataSource就绑定了,就像生成了一个表,而一般在查询的时候都是生成的试图~表会绑定,但是试图不会~ --------------------编程问答-------------------- 同志们,谢谢大家这么多回答~我终于弄出来了,在重新给gridcontrol.datasource赋值前,把里面的gridview使用gridView1.Columns.Clear();这个放吧,将试图的列名清空~~~就OK了~ --------------------编程问答-------------------- 楼主,今天看到贴差点就想说这事,觉得你很可能把列名定死了
哎,清空吧,这个必须的,要不看到的肯定是以前的嘛 --------------------编程问答-------------------- 呵呵,想一块去了! --------------------编程问答-------------------- DataTable dt = null;
DataTable dt1 = null;
private void Form1_Load(object sender, EventArgs e)
{
DevExpress.XtraGrid.Columns.GridColumn colname = new DevExpress.XtraGrid.Columns.GridColumn();
colname.Name = "colname";
colname.FieldName = "colname";
colname.VisibleIndex = 0;
DevExpress.XtraGrid.Columns.GridColumn colpic = new DevExpress.XtraGrid.Columns.GridColumn();
colpic.Name = "colpic";
colpic.FieldName = "colpic";
colpic.VisibleIndex = 1;
DevExpress.XtraGrid.Columns.GridColumn colimg = new DevExpress.XtraGrid.Columns.GridColumn();
colimg.Name = "colimage";
colimg.FieldName = "colimage";
colimg.VisibleIndex = 2;
gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colname, colpic, colimg });
//gridView1.OptionsView.RowAutoHeight = true;
DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit picedit = new DevExpress.XtraEditors.Repository.RepositoryItemPictureEdit();
picedit.AutoHeight = true;
picedit.Name = "respositoryitempic1";
colpic.ColumnEdit = picedit;
DevExpress.XtraEditors.Repository.RepositoryItemImageEdit imageedit = new DevExpress.XtraEditors.Repository.RepositoryItemImageEdit();
imageedit.AutoHeight = true;
imageedit.Name = "respositoryitem1";
colimg.ColumnEdit = imageedit;
Image img = new Bitmap(@"G:\图片\无标题.jpg");
dt = new DataTable();
dt.Columns.Add("colname", typeof(string)).Caption="姓名";
dt.Columns.Add("colpic", typeof(Image)).Caption="图像";
dt.Columns.Add("colimage", typeof(Image)).Caption = "图像";
dt.Rows.Add("asda", img, img);
gridControl1.DataSource = dt;
dt1 = new DataTable();
dt1.Columns.Add("colname", typeof(string)).Caption = "aaa";
dt1.Columns.Add("colpic", typeof(string)).Caption = "bbb";
dt1.Rows.Add("bsc", "adsasd");
}
private void 易做图Button1_Click(object sender, EventArgs e)
{
gridView1.Columns.Clear();
gridControl1.DataSource = dt1;
}
用 gridView1.Columns.Clear();就行啊 --------------------编程问答-------------------- 解决就好!
多次动态给 dev的grid绑定数据需要它
gridView1.Columns.Clear(); --------------------编程问答-------------------- 请问ASPxPivotGrid 后台用sql server 2005 ,自己在后台用sql 语句生成dataset ,然后赋值给ASPxPivotGrid的datasource,查询后显示没有问题,有数据,但是如果用鼠标点击ASPxPivotGrid的某个字段的过滤的箭头后,数据就没有了,请问该怎么解决呢,谢谢! 请看帖子http://topic.csdn.net/u/20120104/17/3839cc99-b688-4d2c-9290-3fe9e324b73c.html?11030 --------------------编程问答-------------------- 请问DevExpress的ASPxPivotGrid 后台用sql server 2005 ,自己在后台用sql 语句生成dataset ,然后赋值给ASPxPivotGrid的datasource,查询后显示没有问题,有数据,但是如果用鼠标点击ASPxPivotGrid的某个字段的过滤的箭头后,数据就没有了,请问该怎么解决呢,谢谢! 请看帖子http://topic.csdn.net/u/20120104/17/3839cc99-b688-4d2c-9290-3fe9e324b73c.html?11030 --------------------编程问答-------------------- 不好意思发重了。请问DevExpress的ASPxPivotGrid 后台用sql server 2005 ,自己在后台用sql 语句生成dataset ,然后赋值给ASPxPivotGrid的datasource,查询后显示没有问题,有数据,但是如果用鼠标点击ASPxPivotGrid的某个字段的过滤的箭头后,数据就没有了,请问该怎么解决呢,谢谢!请看帖子请看帖子[url=http://topic.csdn.net/u/20120104/17/3839cc99-b688-4d2c-9290-3fe9e324b73c.html?11030 --------------------编程问答--------------------
确定好用!! --------------------编程问答-------------------- gridControl1.DataSource = ds2.Tables["雨量信息表"];
gridview.columns[0].filename="";
gridview.columns[0].caption="asdf" --------------------编程问答-------------------- this.gridView1.BestFitColumns();确实很不错 --------------------编程问答-------------------- 我碰過,綁定後,數據源上的列與GRIDCONTROL上的列不同,用
gridView1.Columns.Clear();
就可以了 --------------------编程问答-------------------- this.superGridControl4.Refresh();
补充:.NET技术 , 图表区