如何自定义GridView的自动生成列的样式
本文关键字:自动生成 样式 GridView 自定义 | 更新日期: 2023-09-27 18:07:28
我有一个GridView,我需要能够设置自动生成列的样式,特别是我需要设置宽度每列。我该怎么做呢?
谢谢你的回复!
解决方案更新:
(感谢Stephan Bauer)
在DataGrid上添加事件
OnDataBound="ItemsBound"
在事件中设置宽度:
protected void ItemsBound(object sender, EventArgs e)
{
(sender as GridView).Rows[0].Cells[0].Width = Unit.Pixel(150);
}
或者你可以这样做:
(sender as GridView).Rows[0].Cells[0].Style.Add("width", "150px");
你不能使用GridView的Columns
属性在DataBound事件,因为生成的列不添加到GridView的Columns
集合,如果GridView的AutoGenerateColumns
属性设置为true
。
但是您可以尝试操作myGrid.Row[x].Cells[y]
的属性(记住检查指定的行和单元格是否存在):
protected void myGrid_DataBound(object sender, EventArgs e)
{
this.myGrid.Row[0].Cells[0].Width = Unit.Pixel(500);
}
您可以使用各种样式属性,例如
<asp:GridView runat="server" RowStyle-BackColor="AliceBlue" RowStyle-CssClass="SomeClassThatSetsTheColumnWidth" />
无论列是否自动生成,
It Works .谢谢我需要在自动生成的列上应用标题样式。下面是在自生成列
上应用标题css的代码protected void grvRequirement_DataBound(object sender, EventArgs e)
{
this.grv_RequirementList.HeaderRow.CssClass = "grid_sub_heading";
}
Stephen这里有一个错误,应该是这样的
this.myGrid.Rows [0] .Cells[0]。