我想在gridview中乘以由一个Label和Textbox控件组成的gridview列,并在另一列中显示乘积值,如图所示。我想要做的是,一旦我点击按钮,所有项目都显示在gridview中,如下所示,然后它会在相应的列中自动乘以速率* 1(默认数量为1)。如何乘以gridview列并在另一列显示
我的asp.net代码
<%--ServiceID --%>
<asp:TemplateField HeaderText="ServiceID" ItemStyle-Width="100px">
<ItemTemplate>
<asp:Label ID="lblServiceID" runat="server" Text='<%# Eval("ServiceId")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<%-- Rate --%>
<asp:TemplateField HeaderText="Rate" ItemStyle-Width="70px">
<ItemTemplate>
<asp:Label ID="lblRate" runat="server" Text='<%# Eval("Rate")%>' CssClass="rate"></asp:Label>
</ItemTemplate>
<ItemStyle Width="70px" />
</asp:TemplateField>
<%-- Quantity --%>
<asp:TemplateField HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox ID="txtQuantity" runat="server" CssClass="txtQty"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="lblTotal" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
的GridView
C#代码
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridView1.Rows[i].Cells[3].Text = Convert.ToString(Convert.ToDecimal(GridView1.Rows[i].Cells[1].Text) * Convert.ToDecimal(GridView1.Rows[i].Cells[2].Text));
}
虽然你可以做这个服务器端,例如,通过Ajax和一个UpdatePanel,因为Total是派生的,我只是简单地在客户端使用JavaScript来做到这一点? – StuartLC 2015-02-11 05:17:36
最好和更快将做它在javascript – 2015-02-11 05:20:29
我同意这两个关于在客户端使用javascript做,但我会用jQuery做到这一点,这将在少数语句中做到这一点。 – Adil 2015-02-11 05:29:39