變相實現動態ASP.NET水晶報表
初學者往往覺得ASP.NET水晶報表像datagrid一樣,給它個數據源,然后它就會顯示出來。其實不然。不過這種動態的ASP.NET水晶報表也不是不能實現,只是要變相的實現,絕對的話得問水晶開發商了。
以下大概地講一下如何來實現動態ASP.NET水晶報表,原理是這樣,具體的要求需要自己來調用了。
實現動態ASP.NET水晶報表的主要步驟:
1.在ASP.NET水晶報表中插入FormulaFields,text object
2.在程序中
Dim dry As New CrystalReport1 '項目中ASP.NET水晶報表類名CrystalReport1
'文本1
dry.ReportDefinition.ReportObjects.Item("text1").Left = 12 '排版
dry.ReportDefinition.ReportObjects.Item("text1").ObjectFormat.EnableCanGrow = True
Dim GetTextObject1 As CrystalDecisions.CrystalReports.Engine.TextObject
GetTextObject1 = dry.ReportDefinition.ReportObjects.Item("text1")
GetTextObject1.Text = "love you.........." '付值
'字段1
dry.ReportDefinition.ReportObjects.Item("t1").Left = 12 '排版
dry.DataDefinition.FormulaFields("t1").Text = "{codes.type_id}" '付值,表名.字段
3.基本完成
實現動態ASP.NET水晶報表的參考知識:
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 = "{客戶.客戶 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。
【編輯推薦】