2015-11-20 143 views
0

因此,我在下面附加了我的應用程序的圖片。我擁有的是Winforms C#應用程序,用戶可以在其中生成條形碼。他在左側輸入參數,單擊生成,水晶報告顯示在右側,條形碼爲4x12格式。我手動創建了報告模板,即在報告中通過反覆試驗在我想要的位置添加Blob字段,當用戶單擊生成時,它只是將圖像傳遞給報告。Crystal Reports:根據用戶輸入/參數隱藏/隱藏報告中的字段

enter image description here

我打算增加一個設備,在此用戶可以選擇在報表上的插槽實際生成的圖像,因爲也許他不希望每次打印48個條形碼。因此,也許是一個複選框或用戶將在運行時確定報告將如何生成的東西。

所以我的問題是,這樣做的最好方法是什麼?我正在考慮將所需插槽的列表作爲參數傳遞給報告,並根據列表隱藏或取消字段,但我不知道如何執行此操作。我的水晶報告知識不是最大的。我只找到了在重複數據的情況下抑制數據的方法,但我有一個獨特的情況,那裏沒有太多信息。

回答

2

使用一些條件來抑制一個項目我做如下:

  1. 選擇項目(即可以根據條件來抑制)
  2. 右鍵單擊該項目
  3. 選擇「格式化字段「或」格式文本「
  4. 在選項卡菜單中選擇」常用「
  5. 在公共選項卡中查找Suppress(它是一個複選框)並檢查它是否具有x + 2和a鉛筆,
  6. 寫你的條件
  7. 你可以做到這一點的其他方式(未選中文本框和條件隱藏)

我的一個例子:(?官是我送參數)

IF {?官方} = true,那麼

true 

ELSE

false 
+0

你讓我走上了正軌。謝謝。所以我需要爲每個字段創建參數。是否可以傳遞1個參數作爲布爾表的列表,而不是每個字段的48個單獨參數? – nerdalert

+0

我不認爲我有這個答案,我只能想到(一個荒謬的方式)發送一個整數,並在每個項目中作出條件:/ IF {?param1> = 1}那麼真正的ELSE錯誤,並且在下一個{?param1> = 2}那麼真的..,以48 ..,但必須有一個更好的方法來做到這一點 –