如何在運行時隱藏水晶報表中的列? 感謝您的任何建議。在運行時隱藏水晶報表中的列?
回答
您可以使用參數(可在運行時設置這些值)並將它們用於對象的壓制公式。
選項1:使用條件抑制邏輯隱藏/顯示冗餘場
使用參數字段來驅動抑制公式所需的字段。
如果你想消除字段之間的空格,那麼你需要將字段堆疊在一起並適當地抑制它們。在你的例子中,第2列將包含field2和field3(都被抑制),第3列將包含field2和field3(都被抑制)。在您的示例中,抑制邏輯將繼續抑制第2列中的兩個字段,但會顯示第2列中的字段3(第2列中的字段2仍將被抑制)。
選項2:使用「佔位符」式場
數據的每一列,可以抑制將是一個公式字段。每個公式字段將使用SELECT CASE邏輯來選擇要顯示的所需字段。 「隱藏」字段只會返回空值。您的SELECT CASE邏輯將被寫入以確保值從左到右填充。格式化將需要公式而不是公式字段本身。
選項3:使用SDK動態更改報告。
使用CR .Net SDK或較早的CRAXDRT API動態修改列的可見性和定位。
但是,如果您使用此選項,則您的部署選項將受到更多限制。
+1這就是我會做CR的專家。越簡單越好,保持簡單!所以,更簡單的是在Suppression條件下進行。您也可以抑制空白部分。 – 2010-03-15 19:47:45
謝謝Craig的回答,那麼您對「佔位符」的含義是什麼,Will Marcouiller說我該如何抑制空白部分?非常感謝您的時間。另一個Q是有動態報告允許最終用戶顯示\隱藏列可選?並感謝Will Marcouiller – 2010-03-16 08:55:01
@Dani AM:在這種情況下,'佔位符'是一個公式字段,它的值是動態計算的。 「抑制空白部分」是該部分的屬性 - 如果該行中的所有字段都爲空,它將隱藏整行。根據你的描述,我不認爲這是你想要的。 Crystal Reports本身沒有「動態」報告。你可以嘗試一個交叉標籤,但這可能不會滿足你的需求。您可以嘗試使用我提到的任一SDK動態創建報告,但這更復雜。 – craig 2010-03-16 11:32:21
只是分享我發現了一個偉大而簡單的文章在
http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx
,在水晶報表中使用參數動態從數據庫到水晶報表,並顯示指定的字段加載數據的特定的(列表)應根據用戶選擇顯示在repor中。
Dani。
- 1. 水晶報表隱藏列
- 2. 如何隱藏在水晶報表
- 3. 水晶報表v10.2.3600.0運行
- 4. 運行水晶報表時出錯
- 5. 使用公式隱藏水晶報表中的全列
- 6. 水晶報表 - 在陣列
- 7. 在水晶報告中隱藏空白列
- 8. 水晶報告 - 隱藏特定頁面
- 9. 隱藏水晶報告中無分層分組值的行
- 10. 調度水晶報表自動運行
- 11. 水晶報表,運行總計
- 12. 如何在VS2008中安裝水晶報表運行時?
- 13. 根據參數值(水晶報表XI)隱藏交叉表中的列
- 14. 錯誤時在C#水晶報表運行時對12
- 15. 水晶報表列問題
- 16. 水晶報表
- 17. 水晶報表多列和行
- 18. 從水晶報告中運行腳本
- 19. 水晶報表和數據在運行時綁定
- 20. 水晶報表加載圖像(字節[])在運行時與C#
- 21. 在運行時將圖像添加到水晶報表
- 22. 在運行時更改水晶報表文本對象文本
- 23. 如何使用水晶報表添加在運行時
- 24. 水晶報表 - >運行報表的外部參數
- 25. 指定水晶報表中的列數
- 26. 水晶報表子報表
- 27. 水晶報表不顯示在水晶報表查看器WPF
- 28. 水晶報表中的行橫跨
- 29. 隱藏或禁用水晶報表參數面板
- 30. 更改水晶報表打印圖像運行時的大小
好的喬喬,如果我有3列,我想隱藏第二個,就是這樣做,沒有空的空間。 非常感謝你。 – 2010-03-15 10:25:29