DataGrid数据求和 可以先在SQL语句中求和,再绑定到DataGrid中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用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()方法 生成一汇总数据行 从arraylist里面读取保存在实体中的某个参数 问个小问题,验证用户名的安全问题。 试想,如果整个站点共享一个Connection对象 验证判断问题!请高手来帮!散分拉! 请教关于.net中如何传递当前url? 想通过做一个网站来学ASP.NET 请大家给点建议 进来就有分!!! 请教非静态方法的引用!! 一个小问题 提供水晶报表10下载和注册码 提问:dreamweaver 随机打开图片代码 在UserControl中如何使用Collection集合属性以及CollectionEditor集合编辑器 这样绑定Datalist后,分页怎么弄啊!!!高手进~~~
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页面下
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//求和操作
}
if (e.Row.RowType == DataControlRowType.Footer)
{
//显示总和
}
}
这个是以前写的了,不好之处是每行绑定时都要计算,觉得效率有些低。
<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>楼上的明白了吗?