请参考帮助中的“设计报表->交叉表”部分。在帮助分档中有详细的步骤说明,也说明了各种类型的交叉表设计要点。
交叉表会自动按照横向交叉字段与纵向交叉字段自动进行排序,所以交叉项是按照内部自动排序后的顺序显示。如果希望交叉项按数据的原始顺序显示,首先必须保证原始数据将具有相同交叉字段值的记录排列在一起,并取消交叉表上对应的交叉项排序。
例如要让横向交叉项按数据的原始顺序显示,原始数据必须将具有相同横向交叉字段值的记录排列在一起,记录的顺序也是希望显示的顺序,并将交叉表的“交叉项排序::横向重排序”属性设置为“否”。
特别提示:不能同时做到横向与纵向都按原始数据顺序显示,即“交叉项排序::横向重排序”或“交叉项排序::纵向重排序”属性不能同时设置为“否”,不然数据没法排序归类好。
合计列对应字段必须为数字类型(整数、浮点数与货币金额),不然只是复制一次字段值,而不会累加求和。只要将记录集中的对应字段类型改为数字类型就可解决问题。
用 IGRCrossTab.VBeginAddItem 方法与 IGRCrossTab.VEndAddItem 方法可以实现这样的要求,具体请查阅帮助中的详细说明。
参考例子:C:\Grid++Report 6\Samples\...\Advance\CrosstabAppendItem
目前只有C/S报表组件的 VC 与 C# 提供了这样的例子
如果确实不能用Grid++本身的交叉表来实现,应该用自己的程序把数据交叉统计好,然后根据交叉结果用程序代码动态定义Grid++的明细网格。这样Grid++就把自定义交叉出来的数据作为一个普通的表格报表展现出来。
C/S参考例子:Advance\CustomCrossTab
WEB报表插件参考例子:plugins\Advance\CustomCrosstab 

FAQ中没有解决问题,请查看其它技术支持方式。这里常见问题解答(FAQ)内容也全部包含在Grid++Report的帮助文档中,开发者一定要善于查看软件安装后的产品帮助文档。