2010-10-18 63 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> 
相关问题