找回密码
 立即注册

QQ登录

只需一步,快速开始

jackywangyu

初级会员

19

主题

49

帖子

333

积分

初级会员

积分
333

活字格认证

jackywangyu
初级会员   /  发表于:2015-3-5 09:29  /   查看:4255  /  回复:1
我现在遇到一个问题,第一次查询出来数据填充到C1FlexGrid上。第二次,没有查询出内容。但是,不知道为什么Grid上的数据没有任何变化。
                oleAdapter = new OleDbDataAdapter(sQuery, GeneralCommon.OleConn);
                oleAdapter.Fill(thisDataSet, "TableS");
                _flex.DataSource = thisDataSet.Tables["TableS"];
第一次查询,TableS中存在数据,所有_flex显示很正常,但是第二次当TableS为空(没有记录时),_flex中的数据没有跟着清空,我应该如何操作?
以前,我曾经试过,如果TableS为空时,_flex的行数=0;但是这样的话,_flex.DataSource实际上还是有值的,所以这种操作存在问题。请问我如何解决,谢谢!

1 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-3-5 18:33:00
沙发
回复 1楼jackywangyu的帖子

在查询后是否重新设置了 DataSource?

另外,我通过以下代码没能重现你的问题:

  1. DataTable dt = new DataTable();

  2.         private void Form1_Load(object sender, EventArgs e)
  3.         {
  4.             dt.Columns.Add("col1");
  5.             dt.Columns.Add("col2");

  6.             dt.Rows.Add("1", "2");
  7.             dt.Rows.Add("1", "2");

  8.             this.c1FlexGrid1.DataSource = dt;
  9.         }

  10.         private void bindToolStripMenuItem_Click(object sender, EventArgs e)
  11.         {
  12.             dt.Rows.RemoveAt(0);
  13.             dt.Rows.RemoveAt(0);
  14.             this.c1FlexGrid1.DataSource = dt;
  15.         }
复制代码


如果没能解决问题,请你提供demo到论坛调试。
谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部