翻譯|行業(yè)資訊|編輯:龔雪|2024-01-02 14:06:40.533|閱讀 94 次
概述:本文將為大家介紹DevExpress Blazor Grid組件在v23.2版本中支持的單元格編輯新模式,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress Blazor UI組件使用了C#為Blazor Server和Blazor WebAssembly創(chuàng)建高影響力的用戶體驗,這個UI自建庫提供了一套全面的原生Blazor UI組件(包括Pivot Grid、調度程序、圖表、數據編輯器和報表等)。
在這篇文章中,我們將介紹DevExpress Blazor Grid?組件的新單元格編輯模式功能(在v23.2發(fā)布周期中作為社區(qū)技術預覽版提供)。
DevExpress技術交流群9:909157416 歡迎一起進群討論
當啟用單元格編輯模式時,用戶可以單擊單元格,并通過這樣做將其切換到編輯模式。一旦進入編輯模式,DevExpress Blazor Grid將在單元格中顯示一個就地編輯器,用戶可以使用此編輯器編輯當前單元格值,或者將焦點移動到其他單元格并顯示關聯(lián)的編輯器。當焦點移到另一行時,控件將驗證用戶輸入并根據需要保存更改。
當使用DevExpress Blazor Grid的單元格編輯模式時,Edit(編輯)、Cancel(取消)和Save按鈕是不必要的。您可以從命令列中刪除這些按鈕,也可以刪除整個命令列。不使用內置命令列,您可以添加工具欄或上下文菜單來顯示自己的新記錄和/或Delete按鈕。
要在您的Blazor應用程序中激活單元格編輯模式,必須:
<DxGrid Data="DataSource" KeyFieldName="EmployeeId" EditMode="GridEditMode.EditCell" KeyboardNavigationEnabled="true" EditModelSaving="Grid_EditModelSaving" DataItemDeleting="Grid_DataItemDeleting"> <Columns> <DxGridCommandColumn /> <DxGridDataColumn FieldName="FirstName" /> <DxGridDataColumn FieldName="LastName" /> <DxGridDataColumn FieldName="Title" /> <DxGridDataColumn FieldName="HireDate" /> </Columns> </DxGrid> @code { IGrid Grid { get; set; } IEnumerable<EditableEmployee> DataSource { get; set; } // ... async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) { // Saves changes } async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e) { // Deletes the processed data item } }
與DevExpress Blazor Grid的其他數據編輯模式類似,單元格編輯模式根據列數據類型自動生成單元格編輯器。對于高級使用場景,您可能需要自定義自動生成的編輯器,或者用所需的編輯器替換它們。當您探索這個特性時,一定要檢查單元格編輯是否與為EditSettings和CellEditTemplate定義的DevExpress編輯器(以及自動生成的編輯器)一起工作。
單元格編輯模式支持鍵盤導航,并附帶一組預定義的鍵盤快捷鍵,因此它要求您啟用 屬性。要在數據單元格中顯示編輯器,用戶可以聚焦該單元格并按Enter。當編輯器可見時,以下鍵盤快捷鍵可用:
要在網格單元格之間快速導航,用戶還可以執(zhí)行以下內置快捷方式(隱藏本地編輯器時可用):
DevExpress Blazor?Grid?根據編輯模型中定義的?數據注釋屬性?自動驗證用戶輸入,一旦用戶將焦點從編輯的單元格上移開,網格將驗證該單元格的值。當焦點離開已編輯的行或用戶按下Save按鈕時,網格驗證已編輯數據項的所有字段值。
驗證后,組件將用彩色輪廓標記編輯器并顯示驗證圖標。用戶可以將鼠標懸停在錯誤圖標上,在工具提示中顯示相應的錯誤消息。網格阻止用戶編輯其他行,直到解決了所有驗證錯誤。
使用單元格編輯,您可以隨時保存更改,可以將和事件處理程序中的更改直接發(fā)布到底層數據庫,從而實現(xiàn)逐行保存操作。或者,您可以在內存中積累更改(批處理編輯),并在用戶執(zhí)行特定操作(例如,按下外部按鈕)時將它們發(fā)布到數據庫。
要在Blazor應用程序中引入批處理數據編輯,請對代碼進行以下更改:
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網