要实现此功能,关键有两点:
1. 如何让系统知道,哪些行是属于同一个单据的?

重载 Initialize 事件, 设置 this.ReportProperty.PrimaryKeyFieldName 属性为单据内码字段名,

例如:
this.ReportProperty.PrimaryKeyFieldName = "FID";

2. 如何让系统知道,哪些字段需要合并显示?

如果需要实现字段支持合并显示,必须使用插件动态构建列并指定列 Mergeable 属性;

请重载 GetReportHeaders 事件,构建全部列。
如果需要字段支持超链接,则需要同步在设计器中,添加此列,并指定其采用显示为超链接

例:
public override ReportHeader GetReportHeaders(IRptParams filter)
{

// FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计
ReportHeader header = new ReportHeader();

// 编号
var billNo = header.AddChild("FBillNo", new LocaleValue("单据编号"));
billNo.ColIndex = 0;
billNo.IsHyperlink = true; // 支持超链接(这句代码实际不起作用。需要显示超链接的列,必须在BOS设计器中,添加字段定义,在设计器中设置其显示为超链接)
billNo.Mergeable = true; // 此字段在同一张单据的多行时融合


// TODO : 其他字段略
}

效果如下:
k3cloud设置同一单据的单据头字段各行合并显示_public