WinForms DataGridView未在设置数据源时添加列

WinForms DataGridView未在设置数据源时添加列,winforms,datagridview,Winforms,Datagridview,我有一个名为dgvInspectionsHistory的DataGridView 在第一次运行以下代码行之后,dgvInspectionsHistory添加5列 this.ClearTable(this.dgvTemplatesConfiguration); this.dgvTemplatesConfiguration.DataSource = templatesData; this.dgvTemplatesConfiguration.ReadOnly = false; //3 colum

我有一个名为
dgvInspectionsHistory的
DataGridView

在第一次运行以下代码行之后,
dgvInspectionsHistory
添加5列

this.ClearTable(this.dgvTemplatesConfiguration);

this.dgvTemplatesConfiguration.DataSource = templatesData;

this.dgvTemplatesConfiguration.ReadOnly = false;

//3 columns added

this.dgvTemplatesConfiguration.Columns.Add(this.CreateFaultsColumn(faultsData, "OuterFaults", 2));
this.dgvTemplatesConfiguration.Columns.Add(this.CreateFaultsColumn(faultsData, "InnerFaults", 5));

//2 more columns added

for (int i = 0; i <= dgvTemplatesConfiguration.Rows.Count - 1; i++)
{
     dgvTemplatesConfiguration["InnerFaults", i].Value = OkFaultName;
}

为什么会这样?我如何才能达到预期的结果?

因为您使用的是两个不同的数据网格,即dgvTemplatesConfiguration和dgvInspectionsHistory,这就是为什么没有任何参考,请尝试在第二个代码中将dgvInspectionsHistory重命名为dgvTemplatesConfiguration,并在第一个代码示例中检查它是否有效,您使用的是
dgvTemplatesConfiguration
而不是
dgvInspectionsHistory
。我怀疑在第一个代码示例中是否有任何列添加到dgvInspectionsHistory,因为该代码中根本没有引用dgvInspectionsHistory。您正在该代码中使用另一个datagridview。您确定在问题中输入了正确的代码吗?
this.ClearTable(this.dgvInspectionsHistory);
this.dgvInspectionsHistory.DataSource = inspectionsData;

//the desired 3 colums are not getting added