[XAF] Llamachant Framework Modules

Llamachant Framework Modules

最近更新

2018-08-22 
* 變動:咱們從所需的模塊列表中刪除了審計跟蹤模塊。若是要在應用程序中使用Audit Trail功能,請將Audit Trail模塊添加到.Module項目*
- 新功能:添加審計跟蹤恢復(實驗)
- 更新了IAuditTrailUser接口
2018-06-15次要修復
- 已解決的問題,當使用Web 
2018-06-14中的上一個和下一個對象操做時,標籤上的計數不清除- 次要修復
- 已解決的問題,當使用上一個和上一個時,選項卡上的計數不會更新Web中的下一個對象操做
- 已解決的問題,其中「顯示審計跟蹤」在使用域組件時未顯示正確的標題

咱們與來自世界各地的客戶合做,咱們發現許多客戶但願在他們的解決方案中實現相似的功能。咱們收集了一些最多見的請求,並建立了一個可重用的模塊,咱們但願與你們分享!git

使用限制

歡迎您在應用程序中下載,使用,修改和分發這些模塊,以用於我的或商業應用程序。若是您決定使用這些模塊,咱們會詢問如下內容:github

  • 不要出售/轉售這些模塊。它們對全部人無償使用,而不是爲了您本身賺錢。
  • 確保您擁有有效的DevExpress Universal Subscription
  • 將它們包含在您的XAF應用程序中。考慮讓咱們瞭解您的項目,由於咱們喜歡在野外學習XAF。
  • 考慮在您的網站上添加一個連接給咱們。
  • 考慮在Facebook上喜歡並關注咱們
  • 若是您有任何問題,建議或改進,請聯繫咱們

在你開始以前

這些模塊是使用XPO開發的,並非實體框架友好的。它們按原樣提供,不提供任何形式的擔保。咱們但願您會發現它們對您的解決方案有用。數據庫

安裝

目前,您能夠下載Visual Studio項目並將其包含在您的解決方案中。在模塊中引用它們,並像在任何其餘XAF模塊中同樣經過Module Designer包含它們某些功能須要從DevExpress中包含其餘模塊,以下所示。express

若是您願意,能夠從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的延遲刪除選項,記錄被標記爲已刪除而不是實際被刪除。惟一的複雜因素是對象之間的連接一般在刪除過程當中被清除。這可能致使數小時試圖追逐全部舊關係。使用此新模塊,您能夠快速搜索和還原已刪除的對象及其全部相關對象。這被認爲是實驗性的,因此首先備份你的數據庫。此模塊還須要完整審覈和有效的延遲刪除策略才能正常工做。咱們建議您將此做爲技術人員的最後手段 - 而不是用戶手中。在「模型文件」的「選項」節點中啓用此選項。ide

跟蹤對象

咱們但願將此功能視爲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個位置設置:

  1. 在模型文件的Options節點中,您將找到一個名爲AllowDeleteNonAggregatedObjects的新選項。默認狀況下,此設置爲true,所以您的XAF應用程序將繼續像開箱即用同樣運行。將此屬性設置爲false可從全部非聚合集合中刪除「刪除」操做。
  2. 在模型文件的列表視圖節點中,您將找到一個名爲AllowDeleteNonAggregatedObject的新選項。默認狀況下,此設置爲true,所以您的XAF應用程序將繼續像開箱即用同樣運行。若是在「選項」節點中將AllowDeleteNonAggregatedObjects選項設置爲False,則會覆蓋此值。可是,若是您將值顯式更改成True(模型中爲粗體),則容許刪除。

打開對象動做標題(僅限Win)

雖然這是一個很是小的項目,但它常常出現。默認狀況下,OpenObjectAction的標題是「Open Related Record」。由於它位於功能區或視圖的工具欄中,因此咱們所談論的相關記錄並不老是很清楚。爲了解決這個問題,咱們更新標題以在選擇項目時顯示對象類型名稱。所以,若是您單擊「聯繫人詳細信息視圖」中的「客戶」屬性,則該操做將顯示「Open Client」。您能夠在模型文件中的「本地化」 - >「文本」 - >「OpenObjectWithCaption」項中更改標題格式。

在模型文件的「選項」節點中啓用ShowTypeNameInOpenObject選項以啓用此新標題更新。最後,若是您已經或須要建立本身的繼承自OpenObjectController的控制器,請將其更改成繼承自OpenObjectCaptionController。

摘要面板選項(僅限Win)

所以,咱們常常發現本身試圖肯定列表視圖中有多少項,或列的總和是什麼,但爲了啓用網格頁腳(咱們稱之爲摘要面板),您必須進入模型而且爲該視圖啓用它。此選項容許您經過右鍵單擊列標題在網格中打開或關閉面板。目前,這些選項可用於網格列表編輯器和樹列表編輯器。能夠在「模型文件」的「選項」節點中或「模型文件」中的各個「列表視圖」節點上全局啓用這些選項。

平滑的啓動畫面加載(僅限Win)

品牌化應用程序老是一個好主意。建立啓動畫面有幾個選項,如DevExpress在文章如何使用自定義啓動畫面中所述咱們一直傾向於在啓動畫面上添加Marquee Progress Bar,由於一個小動畫對最終用戶有很大的影響。咱們還但願提供有關加載過程當中發生的狀況的更新。爲了簡化此過程,咱們添加了CustomSplashScreen對象,您可使用該對象顯示自定義初始屏幕並經過平滑動畫接收更新。

要實現自定義初始屏幕:

  1. 建立一個擴展SplashScreen的新表單(示例:公共部分類MySplashScreen:DevExpress.XtraSplashScreen.SplashScreen)
  2. 要接受文本更新,請重寫ProcessCommand方法並解析傳入的「arg」參數
    • 示例:public override void ProcessCommand(Enum cmd,object arg)
    • arg是一個字符串,其中包含由管道分隔的標題和描述(示例:「您的應用程序|加載模塊......」)
    • 根據須要將標籤設置爲這些值(例如:labelControl1.Text = args.ToString()。Replace(「|」,「」)。Trim();)
  3. 在Program.cs文件中,設置新的啓動畫面(例如:winApplication.SplashScreen = new CustomSplashScreen(typeof(MySplashScreen));)

文件類型:ZIP

查看/下載

相關文章
相關標籤/搜索