k3cloud設置同一單據的單據頭字段各行合併顯示

要實現此功能,關鍵有兩點:
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 : 其他字段略
}

效果如下:
wKiom1f8YASAvoojAACtKezv-rg233.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章