在Windows窗体控件中,我们大多用DataGridView来显示数据,显示时一般是从数据源端获取到DataSet后,将其Tabels与DataGridView绑定。但有时我们需要在一个线程中进行数据读取和显示操作,这时DataGridView没有绑定数据源,而是逐行读取DataSet的Table中的DataRow,并将这些DataRow一一填充到DataGridView中去。
由于DataGridView没有绑定数据源,因此我们在填充DataRow之前需要定义一下Columns。
for (int m = 0; m < dataSet.Tables[0].Columns.Count; m++) { myDataGridView.Columns.Add(dataSet.Tables[0].Columns[m].ToString(), dataSet.Tables[0].Columns[m].ToString()); }
设置好DataGridView的列之后,我们就可以向DataGridView中逐行填充数据了。
foreach (DataRow dataRow in dataSet.Tables[0].Rows) { myDataGridView.Rows.Add(); //DataGridView在录入数据之前,需要首先增加自己的行的数量 int i = myDataGridView.Rows.Count; //获取DataGridView当前行数 object[] itemArray = dataRow.ItemArray; //获取dataRow的所有的单元格里的数据Array //将dataRow的单元格数组数据一一填充到DataGridViewRow的Cell中 for (int j = 0; j < itemArray.Length; j++) { myDataGridView.Rows[i - 1].Cells[j].Value = itemArray[j].ToString(); } }
如果我们需要多次刷新并显示该DataGridView,那么在每一次获取和显示数据之前,我们需要把这个DataGridView里的数据清空。首先清空每一行的数据,然后才能清空列。代码如下所示。
myDataGridView.Rows.Clear(); myDataGridView.Columns.Clear(); myDataGridView.Refresh();
本文介绍如何使用C#在不绑定数据源的情况下,通过遍历DataSet中的DataRow来填充DataGridView控件的方法。此外还介绍了如何在每次刷新DataGridView前清除其原有数据。
745

被折叠的 条评论
为什么被折叠?



