【问题标题】:editing the same cell in the gridview在gridview中编辑同一个单元格
【发布时间】:2013-05-11 02:24:23
【问题描述】:

您好,我正在创建一个购物应用程序,我有一个购物车,其中有一些列是从后面的代码中添加的,而一些列是数据库中不存在但希望将来使用的模板字段。

这是我的购物车

代码:

<asp:GridView ID="GridViewProduct" runat="server" CellPadding="5" CssClass="grid"
    ForeColor="#333333" OnRowCreated="GridViewProduct_RowCreated" OnRowDataBound="GridViewProduct_RowDataBound"
    ShowFooter="True" CellSpacing="1" 
    onrowupdating="GridViewProduct_RowUpdating">
    <AlternatingRowStyle BackColor="White" />
    <Columns>
        <asp:ButtonField Text="Remove From Cart" CommandName="RemoveFromCart" />
        <asp:TemplateField HeaderText="Quantity">
            <ItemTemplate>
                <asp:TextBox ID="TextBoxQuantity" runat="server" Width="50px">1</asp:TextBox><br />
                <asp:LinkButton ID="LinkButtonEditQuantity" runat="server"  CommandName="EditTextBox">edit</asp:LinkButton>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:LinkButton ID="LinkButtonUpdate" runat="server">Update</asp:LinkButton>
            </EditItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Total Price">
            <ItemTemplate>
                <asp:Label ID="LabelTotalPrice" runat="server" Text="0"></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <EditRowStyle BackColor="#7C6F57" />
    <FooterStyle BackColor="#1C5E55" ForeColor="White" Font-Bold="True" />
    <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#E3EAEB" />
    <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#F8FAFA" />
    <SortedAscendingHeaderStyle BackColor="#246B61" />
    <SortedDescendingCellStyle BackColor="#D4DFE1" />
    <SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>

我在模板字段中有一个编辑链接按钮,在 editItem 模板和其上方的文本框中有一个更新链接按钮,以便在用户单击编辑链接按钮时编辑文本框。

我的问题是:如何在同一列而不是整行中编辑文本框。

我应该使用哪种方法来编辑相同的单元格行更新、行命令并保存会话中的值并将编辑的值乘以数量和单价以显示在 gridview 的总价格行中。

请帮助我实施正确的方法来实现这一点,因为我已经坚持了很多天......请

【问题讨论】:

    标签: c# asp.net linq-to-sql gridview


    【解决方案1】:

    在您的 gridview 模板上,查看 EditRowTemplate,您将看到它包含所有可编辑控件(最有可能是文本框),删除文本框并添加标签并将它们绑定到您的数据源。这样数据仍会显示但不可编辑(您要编辑的控件除外)

    试试吧,如果您需要更多帮助,请告诉我。

    【讨论】:

    • 我已添加标签并将其文本属性设置为默认值 1。现在,当用户希望编辑购物车中的数量时,我必须编辑标签。我怎么能做到这一点,我应该使用哪种 gridview 方法将其与 unitprice 相乘并在其他列的 totalprice 中显示总值。我编辑我的帖子以显示我的购物车图片。
    • 好的,你如何将数据绑定到代码隐藏上的网格视图?我应该从一开始就复制并粘贴你的代码,我刚刚做了,看起来你的文本框已经是可编辑的,所以你不需要在 EditItemTemplate 上做任何事情(这意味着你可以更改值,但如果你的意思是别的,请解释) 要根据 Quantity 的值计算总数,请在 RowDataBound 事件上执行此操作,例如 weblogs.asp.net/stevewellens/archive/2008/10/31/…
    • 我有三个数据绑定字段(ProductName、ProductUnitPrice、ProductAuthor)和两个未绑定到任何数据源的模板字段。我刚刚创建了它们以使用户能够更新数量并显示总价,我的产品数据库中没有元素数量。所以我需要制作一个gridview列数据绑定以使其可编辑,或者我可以编辑一个标签。请回复..
    • 通常的做法是将 gridview (GV) 上的列绑定到 DataTable 中的列,这将使您的生活更轻松,特别是如果您要将这个数量保存到数据库中,它会继续为您节省大量时间。将 GV 中的列链接到数据集后,您将能够使用其数据绑定模板(编辑、项目),并且您不必担心编写将获取元素值然后创建 SQL 语句来更新值的过程, Gridview 会为你做这件事。
    • 我看到您的图片与原始代码不同,因为在您的 OC 中,您的列有一个文本框准备好接受值的潜在变化。我建议从一开始就保留文本框,然后使用 Javascript 进行计算并使用总数更新标签。您打算如何提交数量/总数?
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多