Llamachant Framework Modules
最近更新
*變更:我們從所需的模塊列表中刪除了審計跟蹤模塊。如果要在應用程序中使用Audit Trail功能,請將Audit Trail模塊添加到.Module項目*
- 新功能:添加審計跟蹤恢復(實驗)
- 更新了IAuditTrailUser接口
- 已解決的問題,當使用Web
2018-06-14中的上一個和下一個對象操作時,標籤上的計數不清除- 次要修復
- 已解決的問題,當使用上一個和上一個時,選項卡上的計數不會更新Web中的下一個對象操作
- 已解決的問題,其中“顯示審計跟蹤”在使用域組件時未顯示正確的標題
我們與來自世界各地的客戶合作,我們發現許多客戶希望在他們的解決方案中實現類似的功能。我們收集了一些最常見的請求,並創建了一個可重用的模塊,我們希望與大家分享!
使用限制
歡迎您在應用程序中下載,使用,修改和分發這些模塊,以用於個人或商業應用程序。如果您決定使用這些模塊,我們會詢問以下內容:
- 不要出售/轉售這些模塊。它們對所有人免費使用,而不是爲了您自己賺錢。
- 確保您擁有有效的DevExpress Universal Subscription。
- 將它們包含在您的XAF應用程序中。考慮讓我們瞭解您的項目,因爲我們喜歡在野外學習XAF。
- 考慮在您的網站上添加一個鏈接給我們。
- 考慮在Facebook上喜歡並關注我們
- 如果您有任何問題,建議或改進,請聯繫我們!
在你開始之前
這些模塊是使用XPO開發的,並不是實體框架友好的。它們按原樣提供,不提供任何形式的擔保。我們希望您會發現它們對您的解決方案有用。
安裝
目前,您可以下載Visual Studio項目並將其包含在您的解決方案中。在模塊中引用它們,並像在任何其他XAF模塊中一樣通過Module Designer包含它們。某些功能需要從DevExpress中包含其他模塊,如下所示。
如果您願意,可以從GitHub上的Llamachant Framework(XAF)存儲庫中獲取它們
功能和平臺
擴展功能 |
||
審計跟蹤查看 | Win和Web | |
審計跟蹤恢復(實驗) | Win和Web | |
跟蹤對象 | Win和Web | |
Singleton Business Objects | Win和Web | |
視覺組件 |
||
字體大小 | 只Win | |
標籤中的收集計數 | Win和Web | |
SVG皮膚調色板 | 只Win | |
工具欄選項 | Win和Web | |
列表視圖行處理選項 | Win和Web | |
刪除非聚合集合(鏈接和取消鏈接) | Win和Web | |
打開對象動作標題 | 只Win | |
摘要面板選項 | 只Win | |
平滑的啓動畫面加載 | 只Win |
審計跟蹤查看
許多人將審計跟蹤模塊添加到他們的解決方案中,但絕不允許用戶與之交互。在此模塊中,您可以啓用該選項以從任何詳細信息視圖查看審計跟蹤。View Audit Trail操作在Tools容器中可用,併爲用戶提供一個包含完整審覈歷史記錄的彈出窗口。管理View Audit Trail操作的可見性有3個設置:None,All,UserSpecific。這些選項在Model文件的Options節點中可用。如果要使“審計跟蹤”操作特定於用戶,請在自定義用戶類上實現IAuditTrailUser接口。
審計跟蹤恢復(實驗)
我們都有那個電話,其中一個用戶錯誤地刪除了一條記錄,需要回復記錄。使用XPO的延遲刪除選項,記錄被標記爲已刪除而不是實際被刪除。唯一的複雜因素是對象之間的鏈接通常在刪除過程中被清除。這可能導致數小時試圖追逐所有舊關係。使用此新模塊,您可以快速搜索和還原已刪除的對象及其所有相關對象。這被認爲是實驗性的,所以首先備份你的數據庫。此模塊還需要完整審覈和有效的延遲刪除策略才能正常工作。我們建議您將此作爲技術人員的最後手段 - 而不是用戶手中。在“模型文件”的“選項”節點中啓用此選項。
跟蹤對象
我們希望將此功能視爲Audit Trail Junior。創建,修改和刪除信息直接存儲在對象表中的對象上,這樣您就可以快速查看誰做了什麼。我們建議您創建自定義Base對象並實現ITrackedObject接口。使用TrackedObjectHelper快速設置跟蹤對象的詳細信息。我們將此作爲一個帶幫助程序的接口提供,因此您可以輕鬆地將跟蹤添加到不從您自己的自定義Base對象繼承的對象。
Singleton Business Objects
我們的客戶通常不會按名稱要求這些,但我們將Singleton Business Objects添加到我們創建的幾乎所有應用程序中。從本質上講,單例業務對象被設計爲一個只有一個的業務對象。這是一種直接在數據庫中存儲設置的好方法,可以由最終用戶快速配置。我們所做的是阻止顯示這些對象的列表視圖,而是向用戶顯示詳細信息視圖。我們還阻止用戶創建或刪除這些對象。
要實現單例業務對象,請在對象上實現ISingletonBO接口。
字體大小(僅限Win)
我們的客戶要求一種方法來增加應用程序字體大小。使用我們的模塊,您可以從“模型文件”中的“選項”節點啓用“字體大小”操作。您還可以在名爲“字體大小”的“選項”下的新節點中定義新的字體大小。此解決方案僅適用於Win應用程序,因爲Web修改將通過CSS完成。
標籤中的收集計數
這是我們添加到所有應用程序的一個可視元素,因爲它可以幫助用戶理解和定位他們的數據。包含集合的任何選項卡組項將在選項卡名稱中顯示該集合中項的計數。如果集合中存在項目,此功能還提供了使選項卡標題變爲粗體的選項。在“模型文件”的“選項”節點中啓用這些選項。
SVG皮膚調色板(僅限Win)
DevExpress在其組件的第17版中引入了SVG外觀。我們首先對“Bezier”主題的外觀印象深刻,因爲它非常乾淨,簡潔,並在對話框周圍吹噓一些漂亮的陰影。直到我們閱讀了更多關於新SVG主題選項的內容,我們才意識到在這個主題中隱藏了更多的主題選項。爲了解鎖這些新的Palette選項,我們在DevExpress網站上提供了一個控制器,其中包含一些控制器的微小變化。選擇SVG主題後,默認情況下可以使用此操作。
工具欄選項
如果要隱藏用戶的工具欄並阻止它們再次顯示,請在列表視圖上使用新的ToolbarVisible和AllowToolbarVisibilityToggle選項。如果將AllowToolbarVisibilityToggle設置爲false,工具欄將消失並再次顯示再次顯示的操作。
列表視圖行處理選項
在某些情況下,您不希望用戶從列表視圖中打開詳細信息視圖。我們在模型中添加了一個選項以啓用此功能。嘗試在列表視圖的模型中設置AllowOpenDetailView選項。
刪除非聚合集合
我們經常看到用戶刪除對象而不是在使用非聚合的集合時將其與集合取消鏈接。對於那些不熟悉聚合與非聚合集合的人,可以這樣考慮:聚合集合是集合中的項目只能屬於包含集合的對象的集合。一個例子是客戶端上的聯繫人列表。非聚合集合是可以將項目拉入或推回到項目池中的集合。例如,參加會議的工作人員名單。從視覺上看,Aggregated和Non-Aggregated集合之間的唯一區別是Link和Unlink操作的可用性。在功能上,它們的行爲不同,特別是在克隆和刪除過程中。如果刪除具有聚合集合的項目,所有聚合項目也將被刪除。如果要克隆項目,還會克隆聚合集合中所有項目的副本。
防止在非聚合集合上刪除的選項可以在2個位置設置:
- 在模型文件的Options節點中,您將找到一個名爲AllowDeleteNonAggregatedObjects的新選項。默認情況下,此設置爲true,因此您的XAF應用程序將繼續像開箱即用一樣運行。將此屬性設置爲false可從所有非聚合集合中刪除“刪除”操作。
- 在模型文件的列表視圖節點中,您將找到一個名爲AllowDeleteNonAggregatedObject的新選項。默認情況下,此設置爲true,因此您的XAF應用程序將繼續像開箱即用一樣運行。如果在“選項”節點中將AllowDeleteNonAggregatedObjects選項設置爲False,則會覆蓋此值。但是,如果您將值顯式更改爲True(模型中爲粗體),則允許刪除。
打開對象動作標題(僅限Win)
雖然這是一個非常小的項目,但它經常出現。默認情況下,OpenObjectAction的標題是“Open Related Record”。因爲它位於功能區或視圖的工具欄中,所以我們所談論的相關記錄並不總是很清楚。爲了解決這個問題,我們更新標題以在選擇項目時顯示對象類型名稱。因此,如果您單擊“聯繫人詳細信息視圖”中的“客戶”屬性,則該操作將顯示“Open Client”。您可以在模型文件中的“本地化” - >“文本” - >“OpenObjectWithCaption”項中更改標題格式。
在模型文件的“選項”節點中啓用ShowTypeNameInOpenObject選項以啓用此新標題更新。最後,如果您已經或需要創建自己的繼承自OpenObjectController的控制器,請將其更改爲繼承自OpenObjectCaptionController。
摘要面板選項(僅限Win)
因此,我們經常發現自己試圖確定列表視圖中有多少項,或列的總和是什麼,但爲了啓用網格頁腳(我們稱之爲摘要面板),您必須進入模型並且爲該視圖啓用它。此選項允許您通過右鍵單擊列標題在網格中打開或關閉面板。目前,這些選項可用於網格列表編輯器和樹列表編輯器。可以在“模型文件”的“選項”節點中或“模型文件”中的各個“列表視圖”節點上全局啓用這些選項。
平滑的啓動畫面加載(僅限Win)
品牌化應用程序總是一個好主意。創建啓動畫面有幾個選項,如DevExpress在文章如何使用自定義啓動畫面中所述。我們一直傾向於在啓動畫面上添加Marquee Progress Bar,因爲一個小動畫對最終用戶有很大的影響。我們還希望提供有關加載過程中發生的情況的更新。爲了簡化此過程,我們添加了CustomSplashScreen對象,您可以使用該對象顯示自定義初始屏幕並通過平滑動畫接收更新。
要實現自定義初始屏幕:
- 創建一個擴展SplashScreen的新表單(示例:公共部分類MySplashScreen:DevExpress.XtraSplashScreen.SplashScreen)
- 要接受文本更新,請重寫ProcessCommand方法並解析傳入的“arg”參數
- 示例:public override void ProcessCommand(Enum cmd,object arg)
- arg是一個字符串,其中包含由管道分隔的標題和描述(示例:“您的應用程序|加載模塊......”)
- 根據需要將標籤設置爲這些值(例如:labelControl1.Text = args.ToString()。Replace(“|”,“”)。Trim();)
- 在Program.cs文件中,設置新的啓動畫面(例如:winApplication.SplashScreen = new CustomSplashScreen(typeof(MySplashScreen));)
文件類型:ZIP