DataGrid数据求和
请问有人知道如何实现将从SQL SEVER中查询到的各项数据求和后显示在DataGrid中吗?DataGrid中只要显示一行求和后的最终结果。谢谢 --------------------编程问答-------------------- 可以先在SQL语句中求和,再绑定到DataGrid中 --------------------编程问答-------------------- 可以用DATAGRID页脚合计显示。。public void DataGrid1_onItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ¦ ¦ e.Item.ItemType == ListItemType.AlternatingItem)
{
CalcTotal( e.Item.Cells[1].Text );
e.Item.Cells[1].Text = string.Format("{0:c}", Convert.ToDouble(e.Item.Cells[0].Text));
}
else if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="Total";
e.Item.Cells[1].Text = string.Format("{0:c}", runningTotal);
}
}
private void CalcTotal(string _price)
{
try
{
runningTotal = runningTotal + Double.Parse(_price);
}
catch
{
//捕获错误
}
}
DataGrid1_onItemDataBound 要绑定在前台aspx页面下 --------------------编程问答-------------------- 在RowDataBound事件里添加求和
protected void gvCount_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//求和操作
}
if (e.Row.RowType == DataControlRowType.Footer)
{
//显示总和
}
}
这个是以前写的了,不好之处是每行绑定时都要计算,觉得效率有些低。 --------------------编程问答-------------------- 不用。直接在gridview里边设置最好一个字段。我给你贴一段代码是我做的求%的应用。
<Columns>
<asp:BoundField DataField="khdx" HeaderText="考核对象" SortExpression="khdx" />
<asp:BoundField DataField="fz" HeaderText="当月得分" SortExpression="khdx" />
<asp:BoundField DataField="jcfz" HeaderText="满分为" SortExpression="khdx" />
<asp:TemplateField HeaderText="百分比">
<ItemTemplate>
<aspabel ID="Label1" runat="server" Text='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"fz").ToString())*100/Convert.ToInt32(DataBinder.Eval(Container.DataItem,"jcfz").ToString())+"%" %>'></aspabel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"report_monthdetail.aspx?khdx="+Server.UrlEncode(DataBinder.Eval(Container.DataItem,"khdx").ToString())%>'
Text="详细信息"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
楼上的明白了吗? --------------------编程问答-------------------- 忘了补充一句。我做的是求%的。。你自己发挥改成相加吧。 --------------------编程问答-------------------- 可以利用datatable.compute()方法 生成一汇总数据行
补充:.NET技术 , ASP.NET