【问题标题】:How to add a TextBox in a specific cell in GridView in ASP web forms?如何在 ASP Web 表单的 GridView 中的特定单元格中添加 TextBox?
【发布时间】:2020-05-28 18:59:34
【问题描述】:

这个问题可能看起来很重复,但我面临的挑战略有不同。我有一个包含多个列的GridView。第一列是Button 列,其余列是从数据库中填充的。

问题陈述:
当用户单击特定行上的 Edit 按钮时,TextBox 应出现在 GridView gv2 中名为 UnitRate 的列中。 TextBox 的默认文本应该是同一单元格的值/文本。这个TextBox 应该只出现在那个特定的单元格中,而不是整个列。当前的GridView 如下所示。

我想要这样的东西

GridView 的代码

 <asp:GridView ID="gv2" runat="server" Font-Size="Small" OnRowCommand="gv2_RowCommand">
           <HeaderStyle BackColor="Yellow" />
           <AlternatingRowStyle BackColor="LightGray" />
           <RowStyle BackColor="LightGray" />
           <Columns>
                 <asp:TemplateField>
                      <ItemTemplate>
                           <asp:Button ID="btn_edit" runat="server" Text="Edit" CssClass="btn btn-warning btn-sm" CommandName="editData" CommandArgument='<%# Container.DisplayIndex %>' />
                      </ItemTemplate>
                 </asp:TemplateField>
           </Columns></asp:GridView>

【问题讨论】:

  • 发布您尝试过的代码,但没有给您想要的。
  • 您的 GridView 的标记是什么?你在使用模板列吗?如果没有,您是否愿意使用模板列?你在使用 RowEditingEvent 吗?一旦用户输入了新值,您希望发生什么?您将如何让您的应用程序知道用户已完成输入信息?你愿意接受 JavaScript/jQuery 解决方案吗?
  • @JonP 我正在使用TemplateField 作为按钮。我正在使用RowCommand 事件,我希望在其中显示TextBox。一旦用户输入了值,他必须按下GridView下方表单中的OK按钮

标签: c# asp.net vb.net gridview webforms


【解决方案1】:

你可以试试这样的:https://www.c-sharpcorner.com/UploadFile/1e050f/edit-and-update-record-in-gridview-in-Asp-Net/

当用户单击编辑时,您可以使用 EditItemTemplate 使 UnitRate 字段成为文本框。然后,您可以将所有其余字段的 EditItemTemplate 设置为标签。缺点是您必须明确拼出所有列,而不是让它们自动生成,但如果您希望发生这种非标准的事情,其中​​一个字段可编辑而其他字段不可编辑,这是不可避免的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多