在GridViewTemplate字段TextBox中对齐文本

时间:2012-02-17 09:59:44

标签: asp.net css gridview

我需要在TextBox GridView

中的TemplateField中将文字对齐

这是TemplateField HTML:

<asp:TemplateField HeaderText="Description">
    <ItemTemplate>
    <div style="text-align: right;">
        <asp:TextBox ID="txtDeductAmount" runat="server" Text="" BorderWidth="1px"></asp:TextBox>
    </div>
    </ItemTemplate>
<ItemStyle Width="80px" HorizontalAlign="Right" />
</asp:TemplateField>

这仍然与左侧对齐。如何强制文本对齐?

注意: <ItemStyle Width="80px" HorizontalAlign="Right" />将绑定的字段文本正确对齐。

4 个答案:

答案 0 :(得分:4)

或者这个:

    <asp:TemplateField HeaderText = "Bank" SortExpression="BankID">
        <ItemStyle HorizontalAlign="Right"></ItemStyle>
        <ItemTemplate>
            <asp:Label ID="BankIDLabel" runat="server" Text='<%# Bind("BankID") %>'></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>

答案 1 :(得分:2)

此参数不会更改输入文本框,但表格标记会对齐。

要更改输入对齐文本的方式,请将类添加到其中,如。

.AlgRgh
{
  text-align:right;
  font-family:Verdana, Arial, Helvetica, sans-serif;
}

并在控件上使用CssClass="AlgRgh"

<asp:TextBox ID="txtDeductAmount" runat="server" Text="" BorderWidth="1px" CssClass="AlgRgh" />

答案 2 :(得分:0)

Hannington Mambo的答案完美,速度更快:

<asp:TemplateField HeaderText = "Bank" SortExpression="BankID">
    <ItemStyle HorizontalAlign="Right"></ItemStyle>
    <ItemTemplate>
        <asp:Label ID="BankIDLabel" runat="server" Text='<%# Bind("BankID") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

答案 3 :(得分:0)

GridView内设置文本框的值时,可以在.cs中使用此代码:

((TextBox)GridView1.Rows[Index of the grid].FindControl("txtName")).Style.Add("text-align", "right");