gridview中的行值总和 [英] Sum of row values in gridview
本文介绍了gridview中的行值总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我想计算网格中列的行值之和.
这是我的gridview设计
Hi Everyone,
I want to calculate sum of row value of a column in grid.
Here is my gridview design
<asp:GridView ID="grdCommAppl" Width="100%" runat="Server" AutoGenerateColumns="False"
CellPadding="4" ForeColor="#333333" GridLines="None" Visible="false">
<rowstyle backcolor="#F2FAFD" />
<columns>
<asp:TemplateField HeaderText="SlNo" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtSlNo" runat="server" Text='<%#Eval("slno")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="CustomerName" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtCustomername" runat="server" Text='<%#Eval("custname")%>'>
</itemtemplate>
<%--<asp:TemplateField HeaderText="CompanyName" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtComName" runat="server" Text='<%#Eval("companyname")%>'>
</itemtemplate>
--%>
<asp:TemplateField HeaderText="InvoiceNo" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtInvno" runat="server" Text='<%#Eval("invno")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="MaterialValue" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtMaterialValue" runat="server" Text='<%#Eval("materialvalue")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="Discount in %" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtDiscountPercent" runat="server" Text='<%#Eval("discountinpercent")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="Discounted Value" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtDisvalue" runat="server" Text='<%#Eval("discountedvalue")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="Commission in %" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtCommissionInpercent" runat="server" Text='<%#Eval("commissioninpercent")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="Commission in Rs" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtComminRs" runat="server" Text='<%#Eval("commissioninrs")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="PaymentMode" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtpaymode" runat="server" Text='<%#Eval("paymentmode")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="TDS" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtTds" runat="server" Text='<%#Eval("tds")%>' OnTextChanged="txtTds_TextChanged" AutoPostBack="true">
</itemtemplate>
<asp:TemplateField HeaderText="BankDetails" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtBankDetails" runat="server" Text='<%#Eval("bankdetails")%>'>
</itemtemplate>
<asp:TemplateField HeaderText="Amount to Be Paid" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left">
<itemtemplate>
<asp:TextBox ID="txtAmttobePaid" runat="server" Text='<%#Eval("amttopaid")%>'>
</itemtemplate>
</columns>
代码:
Code:
protected void btnCalculate_Click(object sender, ImageClickEventArgs e)
{
decimal totamttopaid = 0;
for (int i = 0; i < grdCommAppl.Rows.Count; ++i)
{
totamttopaid += Convert.ToDecimal((grdCommAppl.Rows[i].Cells[11].ToString()));
}
txtTotamt.Text = totamttopaid.ToString();
}
}
我需要这样计算
I need to calculate like this
Total Amount to be paid= sum(Amount to Be paid)
请帮我写逻辑
谢谢
Please help me to write logic
Thanks
推荐答案
int ColIndex = // The Column index of "Amount to Be Paid"
decimal totalAmt = 0;
foreach(GridViewRow gr in grdCommAppl.Rows)
{
decimal thisTotal = 0;
if (decimal.TryParse(((TextBox)gr.Cells[ColIndex].FindControl("txtAmttobePaid")).Text, out thisTotal))
{
totalAmt += thisTotal;
}
else
{
throw new Exception("Invalid total amount detected. (Non-numeric)");
}
}
return totalAmt;
这篇关于gridview中的行值总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文