asp.net Web 表单 gridview 中不自动显示列的数据注释?
Data annotation for not autodisplay columns in asp.net web forms gridview?
我目前正在使用 asp.net 网络表单 4.5。
我正在使用 gridview 并且 gridview 有一个很好的功能叫做自动生成
列,我正在尝试使用它,但有些列我不想显示。
我知道我可以将自动生成列设置为 false 并为自己调用列,但我在想是否有模型上的数据注释等功能,(顺便说一下,我使用的是数据库优先) 并防止 gridview 从
正在显示。
我找到的最接近的 post 是 data annotations hide property/field,但我认为这不适用于我的情况。
提前致谢!
在 WebForms 中,没有像 MVC 中那样的简单标记来隐藏带有数据注释的列。如果您想使用自动生成列,您可以使用列索引在数据绑定事件中隐藏列:
protected void gridView_DataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[index].Visible = false;
}
我建议不要使用自动生成的列,而是在 gridview 中明确指定每一列。这样,如果您的数据源将来发生变化,您的 GUI 中就不会出现任何意外行为。
如果您创建了一个带有数据注释的模型,并且给它起了一个不会显示在您的 gridview 中的名称,请确保您在 Gridview 上设置 ItemType 并将其指向您的模型。它会工作得很好。
我目前正在使用 asp.net 网络表单 4.5。
我正在使用 gridview 并且 gridview 有一个很好的功能叫做自动生成 列,我正在尝试使用它,但有些列我不想显示。
我知道我可以将自动生成列设置为 false 并为自己调用列,但我在想是否有模型上的数据注释等功能,(顺便说一下,我使用的是数据库优先) 并防止 gridview 从 正在显示。
我找到的最接近的 post 是 data annotations hide property/field,但我认为这不适用于我的情况。
提前致谢!
在 WebForms 中,没有像 MVC 中那样的简单标记来隐藏带有数据注释的列。如果您想使用自动生成列,您可以使用列索引在数据绑定事件中隐藏列:
protected void gridView_DataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[index].Visible = false;
}
我建议不要使用自动生成的列,而是在 gridview 中明确指定每一列。这样,如果您的数据源将来发生变化,您的 GUI 中就不会出现任何意外行为。
如果您创建了一个带有数据注释的模型,并且给它起了一个不会显示在您的 gridview 中的名称,请确保您在 Gridview 上设置 ItemType 并将其指向您的模型。它会工作得很好。