dataGridView从数据集填充
本文关键字:填充 数据集 dataGridView | 更新日期: 2023-09-27 18:05:16
我不能得到我的dataGridView更新与数据集中的所有表。我只在dataGridView中得到一行在我尝试填充它之后。
我调用这个来填充我的数据集:
DataTable table = new DataTable(DateTime.Now.ToString());
table.Columns.Add("c1");
table.Columns.Add("c2");
table.Columns.Add("c3");
table.Columns.Add("c4");
table.Columns.Add("c5");
table.Columns.Add("c6");
table.Columns.Add("c7");
table.Rows.Add("s1", "s2", "s3", "s4", "s5", "s6", "s7");
dataSet1.Tables.Add(table);
dataSet1.WriteXml("MyData.xml");
数据写得很好,但如果我尝试用这个读取它,我只得到一行填充,即使数据集中有多个条目。
dataSet1.ReadXml("MyData.xml");
MessageBox.Show((dataSet1.GetXml()));
我得到了包含正确格式和正确条目数的数据的消息。
dataGridView2.AutoGenerateColumns = true;
int i2 = 0;
while (i2 < dataSet1.Tables.Count)
{
dataGridView2.DataSource = dataSet1.Tables[i2];
i2++;
}
在此之后,它将只显示一行而不显示表的数量。dataSet1.Tables。Count>= 2,但仍然只得到1行
编辑:似乎每次我调用这一行:dataGridView2.DataSource = dataSet1.Tables[i2];
正在删除前一行。有什么方法可以附加行吗?
您只在数据集中创建了一个表,因此您的while
语句只执行一次:
while (i2 < dataSet1.Tables.Count)
{
...
}
Count
= 1(表数),因为您只调用了dataSet1.Tables.Add(table);
一次。
dataSet1.WriteXml("MyData.xml")
仅为该单个表写出模式。因此,读回它只会读回一个表的schema值
下面的代码显示了数据集中表的数量:
while (i2 < dataSet1.Tables.Count)
试着把这个指向表:
dataSet1.Tables["Yourtable"].Count