我正在尋找打印發票和聲明的最佳解決方案,當用戶可以在打印表單上編寫和製作選擇(如日期)時。我已經測試了Delphi的所有打印組件,但是沒有人允許最終用戶(例如)在打印時檢查複選框,而無需從他身邊編輯任何內容 - 只需簡單點擊即可。也許我錯過了什麼,你建議什麼?Delphi報表組件和最終用戶的可視化控件
回答
使用快速報告,你有幾種選擇這樣做......
首先,快速報告可以讓你有使用表單設計的報告裏面互動形式,並使用其腳本引擎將它們編碼。
它還允許您將事件處理程序分配給爲每個控件定義的某些事件;例如,它具有用於frxCheckBox控件的OnPreviewClick事件,只要最終用戶單擊預覽窗格中的複選框,就會觸發該事件。
另一種選擇是允許最終用戶修改他/她自己的報告;快速報告爲最終用戶提供了兩種類型的報告編輯,一種方法是讓最終用戶修改生成的報告。使用此功能,最終用戶將在「快速報告」編輯器中看到生成的報告和所有頁面,並可以更改某些值或重新排列控件。 另一種方式是讓最終用戶從頭開始設計報告,因此您必須在Fast Report中使用設計器組件;這將提供用於在IDE中爲最終用戶設計報告的標準編輯器,並且最終用戶可以按照您的要求設計報告。
對於Delphi解決方案,我使用Fast Report的腳本支持在報告中做一些奇特的事情(當用戶在報告預覽中點擊某些內容時彈出窗口)。我也用它來創建向下鑽取報告,因此有一些支持在報告呈現到預覽後更改報告。但我確定它不支持真正的Windows控件,因爲它畢竟是一個REPORT生成解決方案。我沒有真正關注這個,所以有可能我錯了。
對於非Delphi解決方案,您可能需要查看一些Adobe Acrobat(PDF)解決方案,它們允許您執行令人驚歎的任務。
我的看法:除非交互非常簡單(一個複選框和一些輸入字段),否則我不會在報表生成器中執行此操作。儘管這樣做似乎更直觀,但它有太多限制。沒有什麼比編輯文本真正的文本編輯器更勝一籌,但真正的文本編輯器在報告中看起來不合適。
我遇到了使用(如你所說)PDF解決方案的應用程序 - 我必須說這是我正在尋找的。並且非常感謝您在最後一段提供建議。 – JustMe 2011-03-09 09:06:47
- 1. 帶有Canvas的Delphi可視化組件
- 2. 尋找WPF的最終用戶報表設計器控件
- 3. Delphi的最佳報告組件?
- 4. 允許最終用戶移動控件
- 5. 如何在delphi單元測試中使用可視化組件?
- 6. Delphi:從繼承形式中刪除可視化組件引用
- 7. SSRS最終用戶自定義報表
- 8. 如何訪問非可視化Delphi組件的設計位置?
- 9. 最終用戶是否可以編輯React組件的狀態?
- 10. delphi非可視組件圖像
- 11. delphi 2010的視頻組件
- 12. 使用delphi VCL組件如何子類化WinApi Edit控件?
- 13. 可視化數據庫設計Delphi VCL組件?
- 14. SharePoint 2010可視化Web部件與VS主控頁面上的用戶控件
- 15. .NET可視化組件
- 16. Delphi組件序列化
- 17. 可用的任何Delphi趨勢控件
- 18. 分組表視圖和uisegmented控件
- 19. 用delphi創建非視覺activex控件
- 20. 將報表參數數組傳遞給Web用戶控件
- 21. iOS組件可重用性:視圖和視圖控制器
- 22. UIKit視圖類和其他iPhone控件的可視化
- 23. 在ASP.NET中創建可擴展報表的最佳UI控件?
- 24. 定製Flex組件,在設計視圖中的可視化控件
- 25. 格式化用戶表單控件
- 26. DelegateCommand與用戶控件列表視圖
- 27. 快速查詢最終用戶報告
- 28. 可視化組件中的Google地圖
- 29. 沒有可視化組件的Android PreferenceManager?
- 30. C#可視化子類datagridview控件VS2005
但是,超過99%的用戶不會使用設計師。他們想要簡單的解決方案 - 選中一個有趣的複選框並點擊打印。在Fast Report中使用腳本引擎是可能的嗎? – JustMe 2011-03-09 09:14:58
@JustMe,你剛剛得到Fast Report的第二個建議。你試過了嗎?如果您認爲最終用戶不會使用報表設計器,請不要給他們這個選項。 – 2011-03-09 09:22:44
我發現即使我可能打包報表設計器,最終用戶也很少使用它。但有時候,當他們想要足夠使用它時,甚至有時他們想要它足以支付我使用它們。你是你的應用程序的潛在用戶,對吧?升級代碼以添加報告可能會引入迴歸,但是自己使用報告編輯器的可能性較小,對嗎? – 2011-03-09 13:57:46