首页 > 解决方案 > 更改特定列的对齐方式 - Gridview

问题描述

我有一个 Gridview,其项目应左对齐,我编写了如下代码。现在我有一个序列号列。只有此列应居中对齐。我怎样才能做到这一点?我已经完成了如下操作。但序列号列始终居中对齐。简而言之,gridview 的第一列项应该居中对齐。其余列应左对齐。

 <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"  
 CssClass="gridview_alter"  GridLines="Both"  HorizontalAlign="Right"  CellPadding="4" 
 CellSpacing="2" HeaderStyle-Height="60px" HeaderStyle-Font-Bold="true"
 HeaderStyle-Font-Size="Larger" Caption="Information" CaptionAlign="Top"          
 OnRowDataBound="GridView2_RowDataBound">             
            <Columns>
        <asp:TemplateField HeaderText="SNo"><ItemTemplate >
        <asp:Label ID="lblSRNO" runat="server" Text='<%#Container.DataItemIndex+1 %>'></asp:Label>
        </ItemTemplate>
        <ItemStyle Width="20px" HorizontalAlign="Center" />
        <HeaderStyle  Width="20px" />
        </asp:TemplateField>

        <asp:BoundField DataField="name" HeaderText="Name" ReadOnly="True"></asp:BoundField>                                          
        <asp:BoundField DataField="count" HeaderText="Total" ReadOnly="True"></asp:BoundField> 
            </Columns> 
 </asp:GridView>


protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridView2.Columns[0].ItemStyle.HorizontalAlign = HorizontalAlign.Center;//serialnum
}

.gridview_alter {
width: 85%;
font-family: Arial !important;
border: 2px solid #d7dedb;
background-color: #ffffff;
}
 .gridview_alter th {
    text-align: center;
    background-color: #ffffff;
}
  .gridview_alter td {
    font-size: 16px;
    color: #000000;
    text-align: left;
}

标签: c#cssasp.netgridview

解决方案


对于剩下的两列 [name, count],您还应该将ItemStyle-HorizontalAlignandHeaderStyle-HorizontalAlign属性添加为:

<asp:BoundField DataField="name" HeaderText="Name" 
        HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" .... />

也可以通过捕获 gridview 的 RowDataBound 事件以编程方式执行此操作。我相信标记应该适合设置对齐方式。


推荐阅读