【问题标题】:How do I set the width of a textbox when editing a row in a GridView?在 GridView 中编辑行时如何设置文本框的宽度?
【发布时间】:2023-03-16 02:46:01
【问题描述】:

我有一个可以编辑的 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# 代码,我可以。

【问题讨论】:

    标签: c# .net asp.net gridview


    【解决方案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】:

          您可以通过编辑归档选项将文本框/下拉框转换为模板文件。然后去编辑模板,定义框的宽度/高度。

          【讨论】:

            猜你喜欢
            • 2011-05-07
            • 1970-01-01
            • 1970-01-01
            • 2019-10-28
            • 2014-01-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-23
            相关资源
            最近更新 更多