绑定一个DataGridView到DataSet直接失败

问题描述:

这段代码并不显示信息绑定一个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

尽量里面绑定表数据集: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

是ds数据集?

如果是这样,请尝试将您的DGV的DataMember设置为DataSet中的DataTable或将DataSet的DataTable指定为DataSource。