在GridView中编辑行时,如何设置文本框的宽度?

时间:2010-10-18 18:10:30

标签: c# .net asp.net gridview

我有一个可以编辑的GridView。我的问题是,当我点击修改时,文本框太小(File Name列)。它不足以显示其内容,并且不如列的其余部分宽。

如何让文本框更宽广?


这是ASP代码:

<asp:GridView ID="FileGridView" runat="server" AllowPaging="True" OnPageIndexChanging="FileGridView_PageIndexChanging"
    CellPadding="1" CssClass="GridView"  GridLines="Horizontal"
    Width="100%" AutoGenerateColumns="false"
    AutoGenerateEditButton="true"
    OnRowCancelingEdit="GridView_RowCancelingEdit" OnRowEditing="GridView_RowEditing" OnRowUpdating="GridView_RowUpdating"
    >
    <Columns>
        <asp:BoundField DataField="Name" HeaderText="File Name" />
        <asp:BoundField DataField="Length" HeaderText="Size" ReadOnly="true" />
        <asp:BoundField DataField="LastWriteTime" HeaderText="Last Modified" ReadOnly="true" />
    </Columns>
    <RowStyle CssClass="GridViewRow" />
    <EditRowStyle ForeColor="Black" CssClass="GridViewEditRow" />
    <SelectedRowStyle Font-Bold="True" CssClass="GridViewSelectedRow" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <HeaderStyle CssClass="GridViewHeader" ForeColor="White" />
    <AlternatingRowStyle CssClass="GridViewAlternatingRow" />
</asp:GridView>

这背后有C#代码来更新数据,这很好用。我希望解决方案是在ASP中,但如果解决方案需要一些C#代码,那对我来说没问题。

4 个答案:

答案 0 :(得分:15)

您可以将 CSS 类应用于控件,如下所示:

<asp:BoundField DataField="Name" HeaderText="File Name" 
    ControlStyle-CssClass="wide" />

然后在样式表中设置width

input.wide { width: 100px; }

答案 1 :(得分:9)

这应该有效:

<asp:BoundField DataField="Name" HeaderText="File Name" />
    <controlstyle Width="200">
    </controlstyle>
</asp:BoundField>

答案 2 :(得分:4)

您必须为列中的ItemStyle-Width和列中的控件设置ControlStyle-Width

<asp:BoundField DataField="Name" HeaderText="File Name" />
    <ItemStyle Width="200px" />
    <ControlStyle Width="100%" />
</asp:BoundField>

答案 3 :(得分:1)

您可以转到编辑已归档选项,将文本框/下拉框转换为Templatefiled。然后转到编辑模板,定义框的宽度/高度。