2013-08-06 67 views
1

以下代碼後不被顯示在gridview的設置AutoGenerateColumns爲true form_load事件:價值結合

gvTables.AutoGenerateColumns = true; 

以下是結合gridviewgvTables的代碼:

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

的代碼運行良好。即使數據已被檢索到datasettableDataSet,但該值未被顯示爲gridview控件。

+0

您使用asp.net? – Ehsan

+0

@EhsanUllah是的。 –

+0

@RoyiNamir查看我的回答 – Ehsan

回答

0

我得到了這個問題的解決方案。該溶液被張貼在下面以有序的方式:

1)在class一個新的變量的聲明是如下給出:

private DataSet _Records = null;  

2)設定新的變量的property

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

2)以下是Click事件中的代碼:

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

在代碼後調用以下函數。

gvTables.SetDataBinding(tablesDataSet , "Data"); 
+0

-1,因爲這應該是一條評論 – Ehsan

+0

感謝您的評論。這**是答案。我只是將他重定向到源頭。 – EZSlaver

+0

將其作爲評論發佈,然後 – Ehsan