首页 > 解决方案 > "DataGridView.Columns[i].Name" 最后一列为空

问题描述

我使用 C# 创建了一个 Windows 窗体应用程序。

我正在尝试循环列/单元格并将列名填充为单元格值。(仅适用于第一行)
它适用于所有单元格,除了最后一个单元格。也就是说,在显示的数据网格中,除了最后一个单元格之外的所有单元格都有对应的列名。

我无法指出发生了什么。当我访问最后一个单元格的“DataGridView.Columns[i].HeaderText”时,它会返回正确的标题文本。但是当我访问最后一个单元格的“DataGridView.Columns[i].Name”时,它是空的。

我还验证了绑定的列属性,并且可以确认它与我为其他列所拥有的属性相匹配。

请在下面找到我的代码:

for (int i=0;i< DataGridView.Columns.Count;i++)
{
    fieldName = DataGridView.Columns[i].Name.Replace("_filter", "");
    if (!String.IsNullOrEmpty(DataGridView.Columns[i].Name))
    {
        DataGridView.Rows[0].Cells[i].Value = DataGridView.Columns[i].Name + i;
    }
    else
    {
        DataGridView.Rows[0].Cells[i].Value = DataGridView.Columns[i].HeaderText;
    }
}

任何帮助深表感谢。

下面是我的 BoundColumns 屏幕截图

绑定列屏幕:

绑定列屏幕

下面是我的输出截图,显示最后一列

最终输出。电子邮件 ID 列应具有列名,而不是列文本

最终输出

标签: c#datagridviewcolumnname

解决方案


推荐阅读