绑定后,数据源中的值未显示在gridview中

时间:2013-08-06 12:12:12

标签: c# .net winforms gridview dataset

以下代码在AutoGenerateColumns事件中将form_load设置为true:

gvTables.AutoGenerateColumns = true;

以下是绑定gridview gvTables的代码:

Query ="select name from sys.tables";  
DataSet tablesDataSet = new DataSet("TableData");
OleDbDataAdapter tablesDataAdaptor = new OleDbDataAdapter(Query, this.Connection);
tablesDataAdaptor.Fill(tablesDataSet);
gvTables.DataSource = tablesDataSet;

守则运行良好。即使数据已被检索到dataset tableDataSet,但该值未显示在gridview控件中。

2 个答案:

答案 0 :(得分:0)

我得到了这个问题的解决方案。该解决方案已在下面有序发布:

1)class中新变量的声明如下:

private DataSet _Records = null;    

2)设置新变量的property

public DataSet Records
{ get { return this._Records; } set { this._Records = value; } }

2)以下是点击事件中的代码:

Query ="select name from sys.tables";  

GetDataSetForQuery(Query);//Set the data set using GetDataSetForQuery(Query) method
BindingSource bs = new BindingSource();
bs.Datasource = this.Records.Tables[0] ;
gvTables.Datasource = bs;

4)以下是GetDataSetForQuery(string sqlQuery)方法的代码:

    private bool GetDataSetForQuery(string sqlQuery)
    {
        try
        {
            DataSet ds = new DataSet();
            OleDbDataAdapter da = new OleDbDataAdapter(sqlQuery, this.Connection);
            da.Fill(ds);
            this.Records = ds;
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }
        finally { }
    }

答案 1 :(得分:-1)

在代码后调用以下函数。

gvTables.SetDataBinding(tablesDataSet , "Data");