Как установить ширину текстового поля при редактировании строки в 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>

Здесь код С# для обновления данных, и это работает отлично. Я надеюсь, что решение этого будет в ASP, но если для решения требуется некоторый код С#, то все в порядке со мной.

Ответы

Ответ 1

Это должно работать:

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

Ответ 2

Вы можете применить класс CSS к элементу управления следующим образом:

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

И затем установите width в свой StyleSheet:

input.wide { width: 100px; }

Ответ 3

Вы должны установить ItemStyle-Width для столбца и ControlStyle-Width для элемента управления внутри столбца:

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

Ответ 4

Вы можете скрывать текстовое поле /dropboxbox до Templatefiled, перейдя в Edit Filed Option. Затем перейдите к редактированию шаблона, определите ширину/высоту окна.