2012-08-26 142 views
0

運行報表時,我需要將參數(變量)傳遞到我的文檔模板中。我該怎麼做呢?我正在使用Windward的.NET版本。如何將參數傳遞給Windward DocGen?

+0

你的代碼哪部分不工作?你得到了什麼錯誤? –

+0

@ L.B我提出了我們在Windward獲得的常見問題,以便用戶可以立即在此找到解決方案。這是我們得到的最常見的編程問題。 (我想這很有意義,最常見的問題往往很簡單 - 複雜的問題往往是用戶特定的。) –

+0

但是'我該怎麼做'對於SO來說並不合適。 SO期待'我該如何解決這個問題',鼓勵自己做研究 –

回答

0

通過將參數附加到每個數據源來傳遞參數。您可以爲每個數據源設置一組不同的參數和值。

您可以通過創建包含參數的WindwardInterfaces.net.windward.api.csharp.KeyPairDictionary來完成此操作。關鍵是具有變量名稱的字符串。該值可以是字符串,數字或日期時間。如果該變量將用作select中的參數,則值類型應匹配數據庫列類型。

這些通過分配給IReportDataSource.Map屬性在數據源中設置。 AdoDataSourceImpl和XmlDataSourceImpl都實現IReportDataSource。

IReportDataSource datasource = new XmlDataSourceImpl("data.xml"); 
KeyPairDictionary map = new KeyPairDictionary(); 
map.Add("now", DateTime.Now); 
datasource.Map = map; 

注意變量跨多個數據源進行,如果多個數據源應用到的模板。如果一個變量在第一個數據源中設置,並且沒有在第二個數據源中設置,它將保留第一個數據源的值。如果它在第二個設置,那將覆蓋保存的值。