變相實(shí)現(xiàn)動態(tài)ASP.NET水晶報表
初學(xué)者往往覺得ASP.NET水晶報表像datagrid一樣,給它個數(shù)據(jù)源,然后它就會顯示出來。其實(shí)不然。不過這種動態(tài)的ASP.NET水晶報表也不是不能實(shí)現(xiàn),只是要變相的實(shí)現(xiàn),絕對的話得問水晶開發(fā)商了。
以下大概地講一下如何來實(shí)現(xiàn)動態(tài)ASP.NET水晶報表,原理是這樣,具體的要求需要自己來調(diào)用了。
實(shí)現(xiàn)動態(tài)ASP.NET水晶報表的主要步驟:
1.在ASP.NET水晶報表中插入FormulaFields,text object
2.在程序中
Dim dry As New CrystalReport1 '項(xiàng)目中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.基本完成
實(shí)現(xiàn)動態(tài)ASP.NET水晶報表的參考知識:
1、通過 ReportDocument 對象的 DataDefinition 屬性來檢索 DataDefinition 對象。
ReportDocument 成員
公共實(shí)例屬性
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 中)
包含所有與數(shù)據(jù)操作有關(guān)的信息(數(shù)據(jù)操作依據(jù)報表中的數(shù)據(jù)源)。
有關(guān)該類型所有成員的列表,請參見 DataDefinition 成員。
Object
DataDefinition
備注
可以使用該類來定義為報表和組選擇記錄的方式,還可以檢索組集合和各種字段定義集合。
通過 ReportDocument 對象的 DataDefinition 屬性來檢索 DataDefinition 對象。
3、通過 DataDefinition 對象的 FormulaFieldDefinitions 屬性來檢索 FormulaFields 對象。
DataDefinition 成員
DataDefinition 類 CrystalDecisions.CrystalReports.Engine 命名空間
公共實(shí)例屬性
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 對象。
有關(guān)該類型所有成員的列表,請參見 FormulaFieldDefinitions 成員。
Object
SCRCollection
FormulaFieldFieldDefinitions
備注
通過 DataDefinition 對象的 FormulaFields 屬性來檢索 FormulaFieldDefinitions 集合。
5、獲取 FormulaFieldDefinition 對象,并設(shè)置公式。
如:FormulaFieldDefinition.Text = "{客戶.客戶 ID}"
FormulaFieldDefinition 成員
FormulaFieldDefinition 類 CrystalDecisions.CrystalReports.Engine 命名空間
公共實(shí)例屬性
FormulaName(從 FieldDefinition 中繼承而來) 字符串。獲取 Crystal Report 公式語法中的字段定義***公式名。
Kind(從 FieldDefinition 中繼承而來) FieldKind。獲取字段的類型。
名稱 字符串。獲取顯示在“字段資源管理器”中的公式字段名。
NumberOfBytes(從 FieldDefinition 中繼承而來) Int32。獲取在內(nèi)存中存儲字段數(shù)據(jù)所需的字節(jié)數(shù)。
Text 字符串。獲取或設(shè)置公式的文本。
UseCount(從 FieldDefinition 中繼承而來) Int32。獲取某字段在報表中使用的次數(shù)。
ValueType(從 FieldDefinition 中繼承而來) FieldValueType。獲取字段值的類型。
公共實(shí)例方法
Check 檢查公式。如果有語法錯誤,則返回錯誤字符串和 false。
【編輯推薦】