翻譯|使用教程|編輯:龔雪|2023-06-26 10:15:54.420|閱讀 111 次
概述:本文主要介紹界面控件DevExpress ASP.NET如何自定義編輯表單的運行時布局,歡迎下載最新版體驗~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在DevExpress ASP.NET控件v19.2版本中就針對ASP. NET WebForms和MVC平臺的ASP. NET GridView和CardView控件添加了一個主要增強功能。
DevExpress技術交流群8:523159565 歡迎一起進群討論
當您使用預定義的或?自定義的編輯表單時,經常需要動態地更改布局。例如,您可能需要根據用戶操作、用戶權限或需要編輯行的值(或狀態)顯示/隱藏特定的項或項組。雖然存在現有的CellEditorInitialize事件,但它不提供對編輯表單的布局項訪問。
為了解決這個問題,產品團隊基于服務器或客戶端的各種條件實現了Edit Form布局項(如編輯器、按鈕、布局組)的運行時自定義。例如,下面是GridView的編輯表單,控制客戶端'Dismissal Information' 組選項卡的可見性,當用戶輸入 'Dismissal Date'的值時,顯示選項卡,否則一個空白值隱藏選項卡:
要訪問布局項并在服務器端更改其設置,請使用新的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事件使用戶有機會為不同的行創建不同布局,可以為新的布局項或現有的布局項定制設置,還可以刪除、創建、重新排列組項,以及管理行和列的跨度等。
下面的客戶端方法提供了對客戶端布局項的訪問:
下面的例子演示了如何切換一個項目的可見性:
function onShowHideInfoClick(s, e) { var contactLayoutGroup = clientGrid.GetEditFormLayoutItemOrGroup("groupContactInfo"); contactLayoutGroup.SetVisible(!contactLayoutGroup.GetVisible()); }
您可以使用類似的方法來控制項目組,包括選項卡組。
新的功能也可以在CardView控件中使用,我們使用兩個方法(和)填充事件的參數,它們允許您查找布局項,以及指示當前卡片是否正在編輯的IsEditingCard 選項。
在客戶端,CardView控件提供了與GridView相同的API來管理布局項。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網