在 GridView 中编辑行时如何设置文本框的宽度?
Posted
技术标签:
【中文标题】在 GridView 中编辑行时如何设置文本框的宽度?【英文标题】:How do I set the width of a textbox when editing a row in a GridView? 【发布时间】:2011-04-27 02:20:27 【问题描述】:我有一个可以编辑的 GridView。我的问题是,当我单击 Edit 时,文本框太小(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>
这背后有 C# 代码来更新数据,而且效果很好。我希望这个问题的解决方案是在 ASP 中,但如果解决方案需要一些 C# 代码,我可以。
【问题讨论】:
【参考方案1】:您可以像这样将 CSS 类应用于控件:
<asp:BoundField DataField="Name" HeaderText="File Name"
ControlStyle-CssClass="wide" />
然后在您的 StyleSheet 中设置您的 width
:
input.wide width: 100px;
【讨论】:
【参考方案2】:这应该可行:
<asp:BoundField DataField="Name" HeaderText="File Name" />
<controlstyle Width="200">
</controlstyle>
</asp:BoundField>
【讨论】:
【参考方案3】:您必须为列设置ItemStyle-Width
,为列内的控件设置ControlStyle-Width
:
<asp:BoundField DataField="Name" HeaderText="File Name" />
<ItemStyle Width="200px" />
<ControlStyle Width="100%" />
</asp:BoundField>
【讨论】:
【参考方案4】:您可以通过编辑归档选项将文本框/下拉框转换为模板文件。然后去编辑模板,定义框的宽度/高度。
【讨论】:
以上是关于在 GridView 中编辑行时如何设置文本框的宽度?的主要内容,如果未能解决你的问题,请参考以下文章