假设有n个按钮和一个datagridview。
我拖动一个包含 n 个表的数据集,因此创建 n 个具有相同连接字符串的表适配器。我想单击每个按钮以分别显示每个 tableadapter 中的每个表。
我认为这是个坏主意。
我应该以编程方式创建 tableadapter 而不是将控件拖到表单上吗?
假设有n个按钮和一个datagridview。
我拖动一个包含 n 个表的数据集,因此创建 n 个具有相同连接字符串的表适配器。我想单击每个按钮以分别显示每个 tableadapter 中的每个表。
我认为这是个坏主意。
我应该以编程方式创建 tableadapter 而不是将控件拖到表单上吗?
我刚刚为别人写了这段代码:
//class variable:
DataSet ds = new DataSet();
//fill dataset in some of your method:
using(SqlConnection conn = new SqlConnection("connString"))
{
DataTable table1 = new DataTable("People");
DataTable table2 = new DataTable("Cars");
ds.Tables.Add(table1);
ds.Tables.Add(table2);
string query1 = @"SELECT * FROM People";
string query2 = @"SELECT * FROM Cars";
string[] queries = { query1, query2 };
for(int i = 0; i < queries.Length; i++)
{
using(SqlDataAdapter da = new SqlDataAdapter(queries[i], conn))
da.Fill(ds.Tables[i]);
}
}
//now bind tables to your button click events (this is example for Cars):
void button1_Click()
{
dataGridView1.DataSource = null;
dataGridView1.DataSource = ds.Tables["Cars"].DefaultView;
//do the same for table "People" in some other button click event
}