在Delphi里面的DataGrid控件有很好的功能:表头可以多列,可以合并。尤其是带有数值的列可以产生合计一行,不知道哪位高手能否在C#里的Windows Form的DataGridView里面实现?
解决方案 »
- asp.net网页中有套循环添加程序,网页关闭依旧运行求解!
- SqlCommand .Parameters 竟然有防止sql注入攻击的功能吗?
- VS2005中C#如何设置对话框的位置?
- 再问高手:乍么得到一个数据库的全部表的名称呢?
- 写了一个web页面,功能是向数据库里添加数据...
- 针对垃圾新闻大讨论.Net Framework 到底是什么?
- 看来比较难了怪了,请高手帮忙:DataGrid数据导出到excel不成功,导出到word却可以!
- 100分急求水晶报表的错误分析:“已在多处定义“CrystalDecisions.Web.CrystalReportViewer”;使用“c:\WINNT\assembly\GAC\CrystalDeci
- 使用打印指令打印图片Demo
- c#中listview的列通过鼠标右击时间选择增加或减少列,请教该怎么实现!在线等待
- 我做的是个聊天程序,发信息启用一个线程,向服务器申请一个号码又要用另一个线程,服务器怎么区分是哪个的请求啊?
- 一个登录的问题,帮我一下吧。有分的呢
如果只是从数据库读资料,就简单些-----------------------------------
用 ROLLUP 汇总数据
在生成包含小计和合计的报表时,ROLLUP 运算符很有用。ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集。有关更多信息,请参见用 CUBE 汇总数据。 CUBE 和 ROLLUP 之间的区别在于: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。
ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。
例如,简单表 Inventory 中包含:Item Color Quantity
-------------------- -------------------- --------------------------
Table Blue 124
Table Red 223
Chair Blue 101
Chair Red 210 下列查询将生成小计报表:SELECT CASE WHEN (GROUPING(Item) = 1) THEN 'ALL'
ELSE ISNULL(Item, 'UNKNOWN')
END AS Item,
CASE WHEN (GROUPING(Color) = 1) THEN 'ALL'
ELSE ISNULL(Color, 'UNKNOWN')
END AS Color,
SUM(Quantity) AS QtySum
FROM Inventory
GROUP BY Item, Color WITH ROLLUPItem Color QtySum
-------------------- -------------------- --------------------------
Chair Blue 101.00
Chair Red 210.00
Chair ALL 311.00
Table Blue 124.00
Table Red 223.00
Table ALL 347.00
ALL ALL 658.00 (7 row(s) affected)如果查询中的 ROLLUP 关键字更改为 CUBE,那么 CUBE 结果集与上述结果相同,只是在结果集的末尾还会返回下列两行:ALL Blue 225.00
ALL Red 433.00 CUBE 操作为 Item 和 Color 中值的可能组合生成行。例如,CUBE 不仅报告与 Item 值 Chair 相组合的 Color 值的所有可能组合(Red、Blue 和 Red + Blue),而且报告与 Color 值 Red 相组合的 Item 值的所有可能组合(Chair、Table 和 Chair + Table)。对于 GROUP BY 子句中右边的列中的每个值,ROLLUP 操作并不报告左边一列(或左边各列)中值的所有可能组合。例如,ROLLUP 并不对每个 Color 值报告 Item 值的所有可能组合。ROLLUP 操作的结果集具有类似于 COMPUTE BY 所返回结果集的功能;然而,ROLLUP 具有下列优点: ROLLUP 返回单个结果集;COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代码的复杂性。
ROLLUP 可以在服务器游标中使用;COMPUTE BY 不可以。
有时,查询优化器为 ROLLUP 生成的执行计划比为 COMPUTE BY 生成的更为高效。
Janus GridEX,自带统计功能(分组、统计、筛选)
http://www.codeproject.com/cs/miscctrl/OutlookGrid.asp
net里面确实没有这样的功能,你要自己做处理,加载完数据后,根据加载的数据计算一下,添加一行进去。正解!
这里正好有一篇楼主看看
http://blog.csdn.net/mengyao/archive/2006/11/29/1419881.aspx