下面來看看XAF中列表有哪些編輯模式:
一、inline編輯
下圖說明了WinForms和ASP.NET應用程序中的可編輯列表視圖。
在win中,這個很友好,就像excel中編輯一樣。5星功能^_^。
在web中,還需要點擊一個按鈕,這個個人感覺和彈出窗口沒啥區別。當然,還是能夠看到別的記錄的信息,勉強用吧。
如何設置?在VS中找到xafml文件,找到指定的列表視圖
設置AllowEdit屬性為真。
如果要允許新建功能,則需要設置AllowNew屬性為真和IModelListViewNewItemRow.NewItemRowPosition屬性為top或bottom。即是在上面還是下面顯示新建的那一行。
拆分布局(MasterDetailMode屬性)
即,左邊的列表選中了哪條記錄,右邊的詳細視圖就顯示哪條記錄。很遺憾的告訴你,web中不支持這個。如果需要,則使用dashboardview自己定制!
下圖顯示了拆分布局。
要為特定列表視圖啟用拆分布局,請執行以下步驟。
打開xafml,展開視圖並導航到對應於所需列表視圖的子節點。
將IModelListView.MasterDetailMode屬性ListViewAndDetailView
詳細視圖可以顯示在列表視圖的右側或下方。導航到SplitLayout子節點,設置IModelSplitLayout.Direction屬性,這裡可以控制 水平或垂直。
對象可以有幾個詳細視圖。該IModelListView.MasterDetailView屬性允許您指定詳細信息視圖,將代表目前在列表視圖中選擇的對象。如果此屬性值是空的,IModelListView.DetailView使用的價值。如果兩個MasterDetailView和的DetailView屬性是未指定的,那麼 IModelClass.DefaultDetailView用於當前對象類型指定值。
自動提交更改
WinForms應用程序默認行為是,如果最終用戶在編輯單元格後(使用inline編輯器或使用詳細視圖)關閉或離開窗口時,則顯示確認對話框。
在視圖中選擇另一個對象或在窗口中選中另一個元素時,可編輯列表視圖中所做的更改可以自動保存,無需確認。
使用ModificationsController.ModificationsHandlingMode和ModificationsController.ModificationsCheckingMode屬性來更改編輯列表視圖所需的行為。
InlineEditMode屬性
除了標准的編輯 操作,的ASP.NET Web應用程序XAF有特殊InlineEdit行動。雖然這個動作屬於標准RecordEdit類,它不顯示在主工具欄上。相反,它顯示在列表編輯器的上下文菜單中,並在內部由列表編輯器處理。要自定義就地編輯模式在ASP.NET應用程序,使用IModelListViewWeb.InlineEditMode屬性 視圖 ->ListView 節點。
當使用了ASPxGridListEditor時IModelView.AllowEdit屬性設置為真時。下表展示了不同的值的效果。
EditForm:按下編輯後,那一條記錄沒有了,顯示成了右圖的欄子。
EditFormAndDisplayRow: 按下編輯後,原來那一行還顯示,同時出現一個編輯區域。
InLine
PopupEditForm:彈出一個窗口
Batch:
批量編輯,馬上就要達到Excel那種方式了,完成後,需要按下SaveChages才會生效。
最大的遺憾是,當前還不支持引用類型和其他復雜類型。官方有說過復雜類型的支持方法。
我對官方未支持復雜類型表示理解,確實很復雜,比如要支持a*b=c回後台去計算。
比如要實現Appearce模塊。比如。。。。反正很多功能要做。
我也對官方不支持復雜類型表示不理解,都特麼幾年了,還特麼沒出來這個功能。
期待這個功能完成,這個好就牛B了。
重要
在批量編輯模式(Batch)具有一定的特殊性:
關聯集合(集合屬性編輯模式)
在XAF的web中兩種編輯模式。
全局的控制這個行為:
在設置WebApplication.CollectionsEditMode屬性即可。
只想指定一個列表的模式時:模型編輯器,找到詳細視圖,設置 IModelDetailViewWeb.CollectionsEditMode屬性即可。