您好我正在使用以下代码
在数据表中填充表单上的网格 FormDataSet = woutil.GetDataSet;
dgComments.DataDource = FormDataSet.Tables["COMMENT"];
foreach(DataColumn col in FormDataSet.Tables["COMMENT"].Columns)
{
dgComments.Add(col.ColumnName, col.ColumnName);
}
表COMMENT只有4列
FormDataSet在调用代码时是一个空数据集。当代码运行时,表中有一个包含4列的表COMMENT。
在调用代码之前,dgComments DataGridView没有cloumns或数据源。
此代码确实在网格中创建了列,但是我希望有4列,而不是4列,因为列是重复的。请有人让我知道我做错了什么,并告诉我如何填充网格,以便只显示4列。如果我执行代码,Add只调用4次,所以我看不出为什么有8列添加?
稍后我将更改代码,以便只将某些列添加到网格中,但在此阶段我很乐意显示所有列
答案 0 :(得分:0)
您可能只是忽略了将AutoGenerateColumns设置为false。
如果是这种情况,则在此行上设置DataSource属性时:
dgComments.DataSource = FormDataSet.Tables["COMMENT"];
.Net会自动为您生成列。
当您遍历表格并根据表格中的列添加列时,您将重复这些列。如果要手动控制列,请尝试以下操作:
FormDataSet = woutil.GetDataSet;
dgComments.AutoGenerateColumns = false;
dgComments.DataSource = FormDataSet.Tables["COMMENT"];
foreach(DataColumn col in FormDataSet.Tables["COMMENT"].Columns)
{
dgComments.Add(col.ColumnName, col.ColumnName);
}