關於水晶報表二次開發的幾個問題

2021-09-05 13:14:45 字數 697 閱讀 8716

這幾天看報表都要走火入魔了,到現在只能彷彿只能提出問題,已經沒有解決問題的能力了。貼在這裡,只為稍解鬱悶而已

問題一:如何實現橫向報表?

問題二:在.net中,crystalreportviewer可以通過reportsource來指定報表**。因此要在viewer控制項中顯示資料包表,必須存在該報表。但.net中,報表檔案.rpt可以通過新增或新建報表檔案,並直接與資料表相連。但如要動態與資料表連線,即通過**實現,應如何完成?應該說報表檔案與資料集dataset連線非常方便,可以通過方法setdatasource()完成。但是又如何在報表中根據使用者要求顯示表中指定欄位的內容呢?又如何和sql語句結合呢?例如:select的字段可以是全部,也可以是指定的一部分字段。另外又如何響應使用者對報表的修改,以及更新?

問題三:在crystal report中定義報表模板是很容易的,但是應該通過什麼方法將模板和不同的資料表相連線,以顯示其內容?

問題四:crystal report可以將報表資料轉換為xml資料。那麼反過來,應該怎樣把xml資料在報表中顯示出來呢?也許可以把xml資料轉換為資料集dataset,在通過setdatasource(dataset)使其與報表檔案連線。那麼問題又回到第二個問題上來了。並且,.net雖然為dataset提供readxml()方法,直接將xml資料轉換為資料表,但似乎對巢狀錶即複雜的xml資料無能為力。如果用xmldocument,乙個node乙個node得讀,那就腦袋大了。

關於二次開發

首先,看他的目錄結構,知道每個資料夾,甚至每個檔案是幹什麼的,這個常用的discuz等都有相關的資料,並不是所有的檔案都要一一看懂 其次,他的模板語言語法是怎麼樣的,定義了哪些全域性變數 全域性陣列 常量。再次就是看他的核心類 核心函式是怎麼寫的。對架構感興趣的,可以看看他的路由解析類 控制器類 資...

關於 Discuz 的二次開發

可能是因為 discuz 龐大的使用者群的原因吧,發現有些中小 也有在 discuz 基礎上做二次開發的,巧的是,到了某個階段,不約而同的遇到類似的問題 開發進度明顯滯後。個人覺得 discuz 設計的初衷是面向中小站長的,對於二次開發可能並不是很重視。去官方論壇看了半天,甚至都沒有專門二次開發的板...

關於水晶報表分頁統計的開發經驗

最近在修改學校的程式的發現個很大的問題,水晶報表執行總計欄位的統計功能是針對整份報表的,而一般單頁頁腳的統計是針對當前頁的。翻了半天business objects的文件,沒有找到,後來google了半天,總算找到了解決方法。使用公式編輯器的自定義字段公式,主要使用whileprintingreco...