在DataGrid中添加一个合计字段

转载 2006年06月09日 10:19:00
在DataGrid中添加一个合计字段

翻译:nxyc_twz@163.com

你是否花了很时间来阅读 ASPNG 列表?如果不是的话,我非常推荐它。你可以访问
http://www.asp.nethttp://www.asplists.com。最近的最常见的一个问题是:“ 我怎样在 DataGrid 中显示列合计?”。 我亲自多次为这个问题提供了示例代码,因此,我想在DotNetJunkies 的标题中提供这么一份指南。 在这份指南中你将会学到怎样在 DataGrid 中编程实现对某一列的值进行统计,并在 DataGrid 的页脚中显示其合计值。这份指南中供下载的示例中包括了 C# 和 Visual Basic.NET 两种代码。

namespace myApp
{
  public class calcTotals : Page
  {
    protected DataGrid MyGrid;
    private double runningTotal = 0;
  }
}

在类代码的基本结构中,你必须使用相关语句导入名字空间(namespace)。在类声明中,你声明了两个变量,一个是类代码中映射 Web 窗体的 DataGrid(MyGrid)控件的变量;一个是用来操作 DataGrid 的 Price 列中运行时统计的双精度值。 

CalcTotals 方法

CalcTotals 方法用来处理 runningTotal 变量。这个值将以字符串形式来传递。 你需要将它解析为双精度型,然后 runningTotal 变量就成了双精度类型。

private void CalcTotal(string _price)
{
  try
  {
    runningTotal += Double.Parse(_price);
  }
  catch
  {
     //捕获错误
  }
}

MyGrid_ItemDataBound 事件

MyGrid_ItemDataBound 事件在数据源中每行绑定到 DataGrid 时被调用。在这个事件处理中,你可以处理每一行数据。 这里你的目的是,你将需要调用 CalcTotals 方法并从 Price 列传递文本,并用金额型格式化每一行的 Price 列, 并在页脚行中显示 runningTotal 的值。

public void MyDataGrid_ItemDataBound(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[1].Text));
  }
  else if(e.Item.ItemType == ListItemType.Footer )
  {
    e.Item.Cells[0].Text="Total";
    e.Item.Cells[1].Text = string.Format("{0:c}", runningTotal);
  }
}

datagrid 当前页面统计合计等在Footer页脚。

如下是效果图:三行的平均值,合计等计算 $.extend($.fn.datagrid.methods, {           //extend 用来新增datagrid 的方法,名字为stat...
  • aq23es
  • aq23es
  • 2016年06月15日 16:55
  • 434

datagrid中添加合计行计算合计

在公司demo项目实习中,我有一个功能是展示所有支出明细后,在下面添加一行合计,计算所有支出明细之和。 首先我想到的是用easyui里datagrid有一个属性showFooter,就是添加...
  • qq_18423547
  • qq_18423547
  • 2016年04月08日 12:06
  • 2228

easyui的datagrid生成合并行,合计计算价格

easyui的datagrid生成合并行,合计计算价格
  • love_xiolan
  • love_xiolan
  • 2016年08月08日 11:12
  • 8629

EasyUi的DataGrid组件扩展,显示统计当前页信息

// 为datagrid开启统计功能 02 $('#list').datagrid({ 03     ..... // 此处代码略 ...
  • superdog007
  • superdog007
  • 2014年05月04日 09:56
  • 5962

tableGrid与datagrid 分别添加合计列

我们在开发过程中经常会用到tableGrid和datagrid用来展示数据列表,下面分别列出tableGrid与datagrid添加合计列的相关代码 1.tableGrid添加合计列 //查询...
  • snowyz
  • snowyz
  • 2017年06月21日 09:34
  • 650

miniui合计一列与编辑备忘

供自己看; scripts/miniui/themes/default/miniui.css" rel="stylesheet" t...
  • hello_mr_anan
  • hello_mr_anan
  • 2017年03月04日 09:42
  • 815

DataGrid 自定义字段内容

因为DataGrid Web 控件的AutoGenerateColumn 属性预设为True,表示会自动产生数据源中所有的字段。如果我们想自订DataGrid Web 控制所要显示的字段,只要将Aut...
  • limshirley
  • limshirley
  • 2017年04月17日 14:16
  • 455

easyui datagrid 列分组和行归组

数据格式:{ "col": [ "分类", "id", "模式英文名", "模式中文名", "教务系统", ...
  • wyljz
  • wyljz
  • 2017年04月26日 16:37
  • 1494

【datagrid】动态加载列

之前我们的项目在前台显示只需要把数据从数据库读出来进行显示就可以,datagrid的表头字段都是写死的,把数据往表里一扔,就基本没什么事儿了,结果客户前几天要求,其中一个字段不能是死的,应该是有多少项...
  • u013036688
  • u013036688
  • 2016年01月03日 16:32
  • 3177

easyui datagrid自定义按钮列,即最后面的操作列

做项目的时候因为需求,要在表格的最后添加一列操作列,easyUI貌似没有提供这种功能,不过没关系,我们可以自定义来实现 版本:jquery easyUI 1.3.2 这里我的实现方式是采用HTML形式...
  • thc1987
  • thc1987
  • 2013年12月13日 17:43
  • 85706
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在DataGrid中添加一个合计字段
举报原因:
原因补充:

(最多只允许输入30个字)