簡體   English   中英

[Telerik]報告集合中的報告元數據

[英]Report Metadata in a Collection of [Telerik] Reports

我的Web項目中有一組迅速增長的Telerik報告。 我的數據提供策略是,每個報表都有一個包含SQL查詢的公司文本文件。 我處理復雜的過濾條件,例如長'x is in(y,z,a,b,c ....)'或'(((x = 1)and(x <y)))',重復了一百次,方法是在使用文本文件查詢獲取報表的數據表之前對文本文件查詢進行文本替換。

所有報告都是從Telerik.Reporting.Report派生的類,這些類具有用作報告元數據的有限屬性,例如報告的業務名稱與報告的程序名稱。 沒有屬性字段,例如報告類別,報告的SQL查詢文件的名稱,報告的可能的備用查看頁面,將為報告禁用的常見過濾器參數的子集等。

我發現這里的第一個候選解決方案沒有吸引力,即。 在文件,web.config或數據庫表中創建和維護“報告設置”存儲。 該存儲區與實際報告分離,在其中工作或存儲區需要頻繁且煩人的上下文交換。

我更喜歡的想法是使用類似於“動態數據”元數據方案的方法,在該方案中,實體類上的屬性將另一個類歸為持有該實體的元數據的類。 我還可以擴展Telerik.Reporting.Report ,為我想附加到報表的屬性添加一個字典,並從中導出所有報表。

如果您對我目前的想法提出任何批評或對其他選擇提出建議,將不勝感激。

由於Telerik報表定義僅是純C#/ VB類,因此您應該能夠使用任何“標准” C#方法在報表中包含元數據。 在派生的報表類中,可以添加管理設置所需的任何字段或屬性,或者可以通過在項目中擴展Report來嘗試創建更“優雅”的解決方案。

當前版本的Telerik Reporting沒有提供用於設置報表屬性的本機元數據解決方案,但這是一個非常有趣的想法。 我已經要求Telerik Reporting團隊考慮這個想法,因此他們應該盡快提供更多指導。

同時,我認為您計划的“報告基類”在正確的軌道上,這將使所有項目報告輕松設置必要的“設置”值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM