1

我一直在使用 AutoGenerateColumns = true 在 gridview 中显示某些类的列表。

该类有近 70 多个属性。

现在我需要更改gridview的列标题。例如,类具有名为“ProductName”的属性,但在网格视图中我只需要显示“名称”。

一种方法是删除 AutoGenerateColumns 并将所有内容都表示为 boundfield。但它太多的手动编码......而不是数据输入!

我正在考虑使用类属性的 Display 属性显示为 gridview 中的标题列。

[Display(Name="Product")] public string ProdcutName { get; set;}

有没有办法在 Gridview 中使用 Display 属性?

还建议其他东西...

4

1 回答 1

0

一种选择是使用 RowDataBound 事件,您可以在其中操作标题文本的值。

如果您知道列的索引将始终相同,则可以执行以下简单操作:

if (e.Row.RowType == DataControlRowType.Header)
{
  e.Row.Cells[ColIndex].Text = "Product";
}

或者,您可以以声明方式设置它:

gView.Columns[ColIndex].HeaderText = "Product";
于 2012-11-19T16:38:28.887 回答