在DevExpress ASP.NET控件v19.2版本中就針對ASP. NET WebForms和MVC平臺的ASP. NET GridView和CardView控件添加了一個主要增強功能。
DevExpress ASP.NET v23.1正式版下載(Q技術(shù)交流:523159565)
當您使用預(yù)定義的或?自定義的編輯表單時,經(jīng)常需要動態(tài)地更改布局。例如,您可能需要根據(jù)用戶操作、用戶權(quán)限或需要編輯行的值(或狀態(tài))顯示/隱藏特定的項或項組。雖然存在現(xiàn)有的CellEditorInitialize事件,但它不提供對編輯表單的布局項訪問。
為了解決這個問題,產(chǎn)品團隊基于服務(wù)器或客戶端的各種條件實現(xiàn)了Edit Form布局項(如編輯器、按鈕、布局組)的運行時自定義。例如,下面是GridView的編輯表單,控制客戶端'Dismissal Information' 組選項卡的可見性,當用戶輸入 'Dismissal Date'的值時,顯示選項卡,否則一個空白值隱藏選項卡:
要訪問布局項并在服務(wù)器端更改其設(shè)置,請使用新的EditFormLayoutCreated事件。
protected void grid_EditFormLayoutCreated(object sender, DevExpress.Web.ASPxGridViewEditFormLayoutEventArgs e) {
ASPxGridView gridView = sender as ASPxGridView;
LayoutGroup layoutGroupDismissal = (LayoutGroup)e.FindLayoutItemOrGroup("DismissalInformation");
if(layoutGroupDismissal == null) return;
if(gridView.IsNewRowEditing) {
layoutGroupDismissal.Visible = false;
return;
}
var fireDate = gridView.GetRowValues(e.RowVisibleIndex, "FireDate");
layoutGroupDismissal.ClientVisible = fireDate != null && (DateTime)fireDate != DateTime.MinValue;
}
EditFormLayoutCreated事件使用戶有機會為不同的行創(chuàng)建不同布局,可以為新的布局項或現(xiàn)有的布局項定制設(shè)置,還可以刪除、創(chuàng)建、重新排列組項,以及管理行和列的跨度等。
下面的客戶端方法提供了對客戶端布局項的訪問:
- GetEditFormLayout?–?返回內(nèi)置Edit Form Layout控件的客戶端實例。
- GetEditFormLayoutItemByColumn?-?返回與指定列相關(guān)的布局項。
- GetEditFormLayoutItemOrGroup?–?根據(jù)項或組的名稱返回項或組。
下面的例子演示了如何切換一個項目的可見性:
function onShowHideInfoClick(s, e) {
var contactLayoutGroup = clientGrid.GetEditFormLayoutItemOrGroup("groupContactInfo");
contactLayoutGroup.SetVisible(!contactLayoutGroup.GetVisible());
}
您可以使用類似的方法來控制項目組,包括選項卡組。
CardView
新的功能也可以在CardView控件中使用,我們使用兩個方法(FindLayoutItemByColumn和FindLayoutItemOrGroup)填充CardLayoutCreated事件的參數(shù),它們允許您查找布局項,以及指示當前卡片是否正在編輯的IsEditingCard?選項。文章來源:http://www.zghlxwxcb.cn/news/detail-511263.html
在客戶端,CardView控件提供了與GridView相同的API來管理布局項。文章來源地址http://www.zghlxwxcb.cn/news/detail-511263.html
- GetEditFormLayout?–?返回內(nèi)置Edit Form Layout控件的客戶端實例。
- GetEditFormLayoutItemByColumn?-?返回與指定列相關(guān)的布局項。
- GetEditFormLayoutItemOrGroup?–?根據(jù)項或組的名稱返回項或組。
到了這里,關(guān)于界面控件DevExpress ASP.NET中文 - 如何自定義編輯表單運行時布局?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!