2010-10-18 3 views
16

Ho un GridView che può essere modificato. Il mio problema è che quando faccio clic su Modifica, la casella di testo è troppo piccola (colonna File Name). Non è abbastanza grande da mostrare il suo contenuto e non è largo quanto il resto della colonna.Come si imposta la larghezza di una casella di testo quando si modifica una riga in un GridView?

Come posso ampliare quella casella di testo?


Ecco il codice 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'è C# codice alla base di questo per aggiornare i dati, e che funziona bene. Spero che la soluzione sia nell'ASP, ma se la soluzione richiede un codice C#, va bene per me.

risposta

8

Questo dovrebbe funzionare:

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

è possibile applicare un CSS classe per il controllo in questo modo:

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

E poi impostare il width nella vostra StyleSheet:

input.wide { width: 100px; } 
1

Puoi nascondere la casella di testo/dropdownbox a Templatefiled andando in Modifica l'opzione archiviata. Quindi vai a modificare il modello, definire la larghezza/altezza della scatola.

4

è necessario impostare la ItemStyle-Width per la colonna e la ControlStyle-Width per il controllo all'interno della colonna:

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