以下代码在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
控件中。
答案 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");