我正在使用ASP数据网格我正在通过代码隐藏(c#)动态绑定数据字段,Header Text。
我也正在动态设置列的样式,但是其中一个列Horizontal-align.Center无法正常工作。
我已检查样式是否被覆盖但不是......
这段代码提出了一个问题:
BoundField field4 = new BoundField();
field4.DataField = dtdata.Tables[0].Columns["data"].ToString();
field4.HeaderText = "Percentage%";
field4.DataFormatString = "{0:N1}%";
field4.SortExpression = "data";
field4.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grdMarginGrid.Columns.Add(field4);
任何人都可以帮我识别问题所在..
提前致谢, 迪夫亚。
答案 0 :(得分:15)
我认为你的其他款式会覆盖你的新款式。
你可以做这样的事情
尝试从您的ASPX代码向您的gridview添加CSS类,并为您的班级分配以下样式。
<asp:GridView CssClass="grid" runat="server">
<!-- your options -->
</asp:GridView>
.grid td, .grid th{
text-align:center;
}
您也可以从代码后面添加CSS类。 MSDN LINK
这会将所有列文本设置为gridview
的中心答案 1 :(得分:4)
为任何字段(如绑定字段或模板字段)提供ItemStyle-HorizontalAlign =“Center”。
代码:
<asp:TemplateField HeaderText="Something" ItemStyle-HorizontalAlign="Center" >
or
<asp:BoundField DataField="" HeaderText="" ItemStyle-HorizontalAlign="Center">
答案 2 :(得分:-1)
The only solution that works for me :
<style>
.HeaderCentered {
text-align: center !important;
}
</style>
在gridview声明的每个boundField中添加:HeaderStyle CssClass =“ HeaderCentered”:
<asp:BoundField DataField="idLingua" HeaderText="Lingua" SortExpression="idLingua">
<HeaderStyle CssClass="HeaderCentered" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>