如何在水晶報表中動態新增字段

2021-03-31 08:56:28 字數 2660 閱讀 3666

問題:

水晶報表中,因為資料來源的字段是不固定的,可否在執行時動態新增字段,就象在winform中動態新增控制項一樣?(更新:2003-11-05)

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

解決方案:

用「公式字段」

1、根據欄位的最大數量,定義若干個「公式字段」,formulafeild1、formulafeild2……,公式為空;

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

3、在程式裡動態將「公式字段」賦值為「具體字段」;

如:formulafield1.text= ""

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

參考: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 命名空間

要求命名空間:crystaldecisions.crystalreports.engine

平台:windows 98,windows nt 4.0,windows millennium edition,windows 2000,windows xp

程式集:crystaldecisions.crystalreports.engine(在 crystaldecisions.crystalreports.engine.dll 中)

包含報表中的每個公式欄位的 formulafielddefinition 物件。

有關該型別所有成員的列表,請參見 formulafielddefinitions 成員。

object

scrcollection

formulafieldfielddefinitions

備註通過 datadefinition 物件的 formulafields 屬性來檢索 formulafielddefinitions 集合。

5、獲取 formulafielddefinition 物件,並設定公式。

如:formulafielddefinition.text = ""

formulafielddefinition 成員

formulafielddefinition 類 | crystaldecisions.crystalreports.engine 命名空間

公共例項屬性

formulaname(從 fielddefinition 中繼承而來) 字串。獲取 crystal report 公式語法中的字段定義唯一公式名。

kind(從 fielddefinition 中繼承而來) fieldkind。獲取欄位的型別。

名稱 字串。獲取顯示在「字段資源管理器」中的公式欄位名。

numberofbytes(從 fielddefinition 中繼承而來) int32。獲取在記憶體中儲存字段資料所需的位元組數。

text 字串。獲取或設定公式的文字。

usecount(從 fielddefinition 中繼承而來) int32。獲取某字段在報表中使用的次數。

valuetype(從 fielddefinition 中繼承而來) fieldvaluetype。獲取字段值的型別。

公共例項方法

check 檢查公式。如果有語法錯誤,則返回錯誤字串和 false。

如何在水晶報表中動態新增字段

問題 水晶報表中,因為資料來源的字段是不固定的,可否在執行時動態新增字段,就象在winform中動態新增控制項一樣?更新 2003 11 05 解決方案 用 公式字段 1 根據欄位的最大數量,定義若干個 公式字段 formulafeild1 formulafeild2 公式為空 2 把 公式字段 按...

如何在水晶報表中動態新增字段

問題 水晶報表 中,因為資料來源的字段是不固定的,可否在執行時動態新增字段,就象在winform中動態新增控制項一樣?更新 2003 11 05 解決方案 用 公式字段 1 根據欄位的最大數量,定義若干個 公式字段 formulafeild1 formulafeild2 公式為空 2 把 公式字段 ...

如何在水晶報表中動態新增字段

問題 水晶報表中,因為資料來源的字段是不固定的,可否在執行時動態新增字段,就象在winform中動態新增控制項一樣?更新 2003 11 05 解決方案 用 公式字段 1 根據欄位的最大數量,定義若干個 公式字段 formulafeild1 formulafeild2 公式為空 2 把 公式字段 按...