我知道这是一个愚蠢的问题,我可能听起来有点困惑(因为我真的是)。我是一个编程软件的工作,但我是新来的C# 。 我有一个TabControl的窗体。在每个TabPage中,我有一个DataGridView。C#循环填充多个DataGridView
我需要为每个DataGridView的
while (reader.Read())
{
DataTable dtSchema = reader.GetSchemaTable();
DataTable dt = new DataTable();
// You can also use an ArrayList instead of List<>
List<DataColumn> listCols = new List<DataColumn>();
if (dtSchema != null)
{
foreach (DataRow drow in dtSchema.Rows)
{
string columnName = System.Convert.ToString(drow["ColumnName"]);
DataColumn column = new DataColumn(columnName, (Type)(drow["DataType"]));
column.Unique = (bool)drow["IsUnique"];
column.AllowDBNull = (bool)drow["AllowDBNull"];
column.AutoIncrement = (bool)drow["IsAutoIncrement"];
listCols.Add(column);
dt.Columns.Add(column);
}
}
// Read rows from DataReader and populate the DataTable
while (reader.Read())
{
DataRow dataRow = dt.NewRow();
for (int i = 0; i < listCols.Count; i++)
{
dataRow[((DataColumn)listCols[i])] = reader[i];
}
dt.Rows.Add(dataRow);
}
dataGridView1 = dt;
}
reader.NextResult();
执行这个代码,我不想复制和粘贴每个datagridview的代码,因为这应在这部分代码更改的唯一的话是对的名称DGV,但我不知道如何自动更改datagridview名称。 也许一些嵌套如果比较datagridview的名称与字符串可能是一个解决方案,但我想datagridview.tostring()不会给我的控制名称的字符串,但内容。 对不起,如果这样的问题已经存在,我无法找到它。
创建与DataGridViews一个数组,并使用了/的foreach了它。 – Gusman
感谢您的回答! –