2010-10-18 5 views
16

У меня есть GridView, который можно редактировать. Моя проблема в том, что когда я нажимаю Редактировать, текстовое поле слишком мало (столбец File Name). Он недостаточно велик, чтобы отображать его содержимое, и он не такой широкий, как остальная часть столбца.Как установить ширину текстового поля при редактировании строки в GridView?

Как я могу сделать это текстовое поле более широким?


Вот код 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#, со мной все в порядке.

ответ

8

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

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

Вы можете применить CSS класс управления, как это:

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

А затем установите width в вашем StyleSheet:

input.wide { width: 100px; } 
1

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

4

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

<asp:BoundField DataField="Name" HeaderText="File Name" /> 
    <ItemStyle Width="200px" /> 
    <ControlStyle Width="100%" /> 
</asp:BoundField> 
Смежные вопросы