横向合计代码 锐浪报表_报表开发常见问题解答 - 锐浪报表工具

在锐浪报表中,交叉表穿透取值涉及 RunningDetailGrid.Recordset 中的字段。横向交叉字段根据序号形成如 ProductID_1, ProductID_2 的名称。通过计算选中列序号和列表项数,可以确定横向字段名称并获取其值。文章还提到了受限情况、获取列标题文字和纵向交叉字段值的方法。" 52087815,4992275,ffmpeg初学者指南:视频切片与转码,"['ffmpeg', '视频处理', '流媒体', '脚本', '转码工具']
摘要由CSDN通过智能技术生成

交叉表穿透应该取 RunningDetailGrid.Recordset 中的字段值,横向交叉字段在动态产生的交叉表记录集中,每个横向交叉项会对应产生一个字段,这个字段的名称为 原字段名+"-"+序号,如横向交叉字段为ProductID,产生N个交叉项,则各个项的对应名称为ProductID_1, ProductID_2,...ProductID_N。根据选中列序号,求得是第几个横向交叉项,据此就可以知道对应的横向字段名称,然后在交叉表的记录集中取此字段的值即可。

int ColumnCount = pRunningDetailGrid.Columns.Count; //交叉表的列数

int SelColumnNo = axGRDisplayViewer1.SelColumnNo; //选中的列序号

int ListCols = Report.DetailGrid.CrossTab.ListCols; //交叉表列表项数,也就是纵向交叉显示的列数

int TotalCols = Report.DetailGrid.CrossTab.TotalCols; //交叉表的合计列数

int ProductID = -1; //记录横向交叉字段的值,如果为-1,表示没有取到值,应该是点击了列表项或合计列

if ((SelColumnNo >= ListCols) && (SelColumnNo

{

int ColsPerGroup = Report.DetailGrid.Columns.Count - ListCols - TotalCols; //每个横向交叉项的列数

int HCrossGroupNo = (axGRDisplayViewer1.SelColumnNo - ListCols) / ColsPerGroup + 1; //求出横向交叉的项序号

string HCrossFieldName = "ProductID_" + HCrossGroupNo; //产生字段名称

ProductID = pRunningDetailGrid.Recordset.Fields[HCrossFieldName].AsInteger; //获取字段值

}更多说明:

1、受限说明:如果某项没有产生交叉数据,这个单元格也就无法获得横向交叉字段的值

2、取对应列的标题文字,可以获取横向交叉显示字段的显示文字

3、纵向交叉字段的字段名称在交叉表记录集中保持不变,只要从交叉表的记录集中按原名称获取字段值即可,如:

string CoustmerID = pRunningDetailGrid.Recordset.Fields["CustomerId"].AsString;WEB报表插件S参考例子:plugins\10.SummaryToDetail\Crosstab.htm

C/S参考例子:Advance\SummaryToDetail

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值