Horizo​​ntalAlign.Center无法在GridView中工作

时间:2013-01-31 11:54:18

标签: c# asp.net .net

我正在使用ASP数据网格我正在通过代码隐藏(c#)动态绑定数据字段,Header Text。

我也正在动态设置列的样式,但是其中一个列Horizo​​ntal-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);

任何人都可以帮我识别问题所在..

提前致谢, 迪夫亚。

3 个答案:

答案 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-Horizo​​ntalAlign =“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>