【问题标题】:dynamically calculate the price in Gridview when the quantity goes up数量增加时动态计算Gridview中的价格
【发布时间】:2021-03-18 21:20:41
【问题描述】:

我有以下 gridview 。我希望在用户增加或减少数量时自动计算价格。

下面是我的gridview代码:

<asp:GridView ID="grdShoppingCart" runat="server" AutoGenerateColumns="false" class="ui-responsive table-stroke ss-table ui-search-result-table" GridLines="None" OnRowUpdating="test">
                <Columns>
                    <asp:BoundField DataField="item" HeaderText="Item" HeaderStyle-Font-Bold="true" ItemStyle-Width="35%"  />
                    <asp:TemplateField HeaderText="Description" HeaderStyle-Font-Bold="true" ItemStyle-Width="35%"  >
                        <ItemTemplate>
                            <asp:Label ID="lblDesc" runat="server" Text='<%# Eval("child") %>' /><br />
                            &nbsp;Requested By: &nbsp;<asp:Label ID="lblDesc1" runat="server" Text='<%# Eval("RequestedBy") %>' />
                        </ItemTemplate>

                    </asp:TemplateField>
                       <asp:TemplateField HeaderText="Quantity" ItemStyle-Width="10%" >
                        <ItemTemplate>
                                <input type="number" id="txtQuantity" value='<%# Eval("Quantity") %>'   style="text-align:right;" data-mini="true" min="1" max="100" runat="server"/>
                        </ItemTemplate>
                    </asp:TemplateField>
                       <asp:TemplateField HeaderText="Price" ItemStyle-Width="100%" HeaderStyle-HorizontalAlign="Right">
                        <ItemTemplate>
                                <asp:Label  ID="lblPrice" runat="server" Text= '<%# Int32.Parse(Eval("Quantity").ToString()) * 28 %>' />
                        </ItemTemplate>
                      </asp:TemplateField>

                </Columns>

            </asp:GridView>

是否也可以在后面的代码中捕捉到新计算的价格和数量。

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:
    **ASPX**
     <asp:TemplateField HeaderText="Quantity" ItemStyle-Width="10%" >
                            <ItemTemplate>
                                <asp:TextBox ID="txtqty" runat ="server" TextMode="Number" MaxLength="100" Text='<%# Eval("Quantity") %>' OnTextChanged ="txtqty_TextChanged" AutoPostBack ="true"></asp:TextBox>
                                    
                            </ItemTemplate>
                        </asp:TemplateField>
    

    代码隐藏

    Protected Sub txtqty_TextChanged(sender As Object, e As EventArgs)
            Dim textBox As TextBox = CType(sender, TextBox)
    
            
            Dim qty As String = textBox.Text
            Dim row As GridViewRow = TryCast((TryCast(sender, TextBox)).NamingContainer, GridViewRow)
            Dim lblPrice As Label = CType(row.FindControl("lblPrice"), Label)
    
            lblPrice.Text = Convert.ToInt32(qty) * 28
        End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 2021-10-01
      • 2014-01-31
      • 1970-01-01
      • 2022-01-04
      • 2021-12-07
      • 1970-01-01
      相关资源
      最近更新 更多