2010-10-18 67 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樣式表

input.wide { width: 100px; } 
1

您可以通過編輯提交選項將文本框/下拉框轉換爲模板文件。然後去編輯模板,定義框的寬度/高度。

4

您必須設置ItemStyle-Width爲列和ControlStyle-Width對塔內控制:

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