我无法使用dataSet中的所有表更新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");
数据写得很好,但如果我尝试用它读取它,我只会填充一行,即使dataSet中有多个条目。
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&gt; = 2,但仍然只能获得1行。
编辑:似乎每次我都叫这行:
dataGridView2.DataSource = dataSet1.Tables[i2];
正在删除上一行。有没有办法追加这行呢?
答案 0 :(得分:1)
您只在数据集中创建了一个表,因此您的while
语句只执行一次:
while (i2 < dataSet1.Tables.Count)
{
...
}
Count
= 1(表格数量),因为您只调用了一次dataSet1.Tables.Add(table);
。
dataSet1.WriteXml("MyData.xml")
只写出该单个表的架构。因此,重读它只会回读一个表的架构值。
答案 1 :(得分:0)
以下代码用于计算数据集中的表数:
while (i2 < dataSet1.Tables.Count)
尝试将其指向表格:
dataSet1.Tables["Yourtable"].Count