2010-11-04 47 views
3

這段代碼並不顯示信息綁定一個DataGridView預期:綁定一個DataGridView到DataSet直接失敗

dataGridView1.DataSource = ds; 

這裏的DS代碼:

public DataSet ConnectandReadList() 
     { 
      DataSet ds = new DataSet(); 

      string connection_string="Data Source=hermes;database=qcvalues; Integrated Security=SSPI;";    

      using (var myConnection = new SqlConnection(connection_string)) 
      { 

       myConnection.Open(); 
       var command = new SqlCommand(InitializeQuery(), myConnection); 
       var adapter = new SqlDataAdapter(command); 

       adapter.Fill(ds); 
      } 


      return ds; 
     } 
+1

DataSet是DataTables的集合。你需要指定一個DataTable綁定到DataGridView。否則,即使只有一個,它也不知道要使用哪個DataTable。 – DOK 2010-11-04 22:28:43

回答

4

儘量裏面綁定表數據集:dataGridView1.DataSource = ds.Tables[0];

DataGridView.DataSource屬性的文檔中,還可以綁定到DataSet並使用DataMember屬性:

當綁定到包含多個列表或表的數據源時,必須將DataMember屬性設置爲指定要綁定到的列表或表的表的字符串。

我認爲在這種情況下,表名將是「表」,因爲您沒有明確指定它。

+0

HELL YEAH !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!。你能解釋爲什麼我需要這樣做嗎? – 2010-11-04 22:26:09

+0

@adrift u da man – 2010-11-04 22:27:42

+0

不完全確定,除此之外,我不認爲datagridview足夠聰明,可以查看其表的數據集。從來沒有想過要進一步研究... – 2010-11-04 22:28:02

3

是ds數據集?

如果是這樣,請嘗試將您的DGV的DataMember設置爲DataSet中的DataTable或將DataSet的DataTable指定爲DataSource。