我有一个DataSet
和一个DataGridView
。如果我单击第一个按钮,我想显示第一个表中的数据,如果我单击第二个按钮,我想显示第二个表中的数据。
我尝试了以下
if(b==1)
{
dataGridView1.DataSource = ds.Table1;
}
else if(b==1)
{
dataGridView1.DataSource = ds.Table2;
}
但我看到的是一个空的DataGridView
(没有列名)。
DataSet 在Tables
集合中添加表,您可以通过它们的索引或表名从中访问这些表。
为您的按钮创建公共事件,在 Form_Load 上创建如下:
btn1.Click += new EventHandler(Button_Click);
btn2.Click += new EventHandler(Button_Click);
然后事件方法为:
void Button_Click(object sender, EventArgs e)
{
if ((sender as Button) == btn1)
{
dataGridView1.DataSource = ds.Tables[0];
}
else if ((sender as Button) == btn2)
{
dataGridView1.DataSource = ds.Tables[1];
}
}
////
if(b==1)
{
dataGridView1.DataSource = ds.Tables[0];
}
else if(b==2)
{
dataGridView1.DataSource = ds.Tables[1];
}
例如
DataTable dt = new DataTable("Table1");
DataTable dt2 = new DataTable("Table2");
DataSet ds = new DataSet();
ds.Tables.Add(dt);
ds.Tables.Add(dt2);
//Now you can access these as:
if(b==1)
{
dataGridView1.DataSource = ds.Tables["Table1"];
}
else if(b==2)
{
dataGridView1.DataSource = ds.Tables["Table2"];
}
分配数据源后是否调用了 databind ?
dataGridView1.DataBind()