天天看點

如何在水晶報表中動态添加字段

問題:

水晶報表中,因為資料源的字段是不固定的,可否在運作時動态添加字段,就象在winform中動态添加控件一樣?(更新:2003-11-05)

——————————————————————————————————————

解決方案:

用“公式字段”

1、根據字段的最大數量,定義若幹個“公式字段”,FormulaFeild1、FormulaFeild2……,公式為空;

2、把“公式字段”按順序放在“詳細資料”裡;

3、在程式裡動态将“公式字段”指派為“具體字段”;

如:FormulaField1.Text= "{客戶.客戶 ID}"

參考:

1、通過 ReportDocument 對象的 DataDefinition 屬性來檢索 DataDefinition 對象。

ReportDocument 成員

公共執行個體屬性

DataDefinition DataDefinition。擷取 DataDefinition 對象。

2、DataDefinition 類

DataDefinition 成員 | CrystalDecisions.CrystalReports.Engine 命名空間

要求

命名空間:CrystalDecisions.CrystalReports.Engine

平台:Windows 98,Windows NT 4.0,Windows Millennium Edition,Windows 2000,Windows XP

程式集:CrystalDecisions.Crystalreports.Engine(在 CrystalDecisions.Crystalreports.Engine.dll 中)

包含所有與資料操作有關的資訊(資料操作依據報表中的資料源)。

有關該類型所有成員的清單,請參見 DataDefinition 成員。

Object

   DataDefinition

備注

可以使用該類來定義為報表群組選擇記錄的方式,還可以檢索組集合和各種字段定義集合。

通過 ReportDocument 對象的 DataDefinition 屬性來檢索 DataDefinition 對象。

3、通過 DataDefinition 對象的 FormulaFieldDefinitions 屬性來檢索 FormulaFields 對象。

DataDefinition 成員

DataDefinition 類 | CrystalDecisions.CrystalReports.Engine 命名空間

FormulaFields FormulaFieldDefinitions。擷取 FormulaFieldDefinitions 集合。

4、FormulaFieldDefinitions 類

FormulaFieldDefinitions 成員 | CrystalDecisions.CrystalReports.Engine 命名空間

包含報表中的每個公式字段的 FormulaFieldDefinition 對象。

有關該類型所有成員的清單,請參見 FormulaFieldDefinitions 成員。

   SCRCollection

      FormulaFieldFieldDefinitions

通過 DataDefinition 對象的 FormulaFields 屬性來檢索 FormulaFieldDefinitions 集合。

5、擷取 FormulaFieldDefinition 對象,并設定公式。

如:FormulaFieldDefinition.Text = "{客戶.客戶 ID}"

FormulaFieldDefinition 成員

FormulaFieldDefinition 類 | CrystalDecisions.CrystalReports.Engine 命名空間

FormulaName(從 FieldDefinition 中繼承而來) 字元串。擷取 Crystal Report 公式文法中的字段定義唯一公式名。

Kind(從 FieldDefinition 中繼承而來) FieldKind。擷取字段的類型。

名稱 字元串。擷取顯示在“字段資料總管”中的公式字段名。

NumberOfBytes(從 FieldDefinition 中繼承而來) Int32。擷取在記憶體中存儲字段資料所需的位元組數。

Text 字元串。擷取或設定公式的文本。

UseCount(從 FieldDefinition 中繼承而來) Int32。擷取某字段在報表中使用的次數。

ValueType(從 FieldDefinition 中繼承而來) FieldValueType。擷取字段值的類型。

公共執行個體方法

Check 檢查公式。如果有文法錯誤,則傳回錯誤字元串和 false。

繼續閱讀