Я хочу умножить столбцы 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
Лучше и быстрее будет делать это в javascript –
Я согласен с тем, как делать это на стороне клиента, используя javascript, но я бы сделал это с помощью jQuery, который сделает это в нескольких операциях. – Adil