翻譯|行業資訊|編輯:張蓉|2025-05-30 13:37:12.763|閱讀 125 次
概述:數據編輯是 DHTMLX Grid 組件所具備的眾多強大功能之一。將其與 Grid 的其他優勢(如高度可定制性以及與 Suite 組件的互操作性)相結合,您可以添加自定義編輯選項來滿足特定用例場景的需求。在本文中,您將了解如何通過數據視圖編輯器來豐富 Grid 的配置。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
數據編輯是 DHTMLX Grid 組件所具備的眾多強大功能之一。將其與 Grid 的其他優勢(如高度可定制性以及與 Suite 組件的互操作性)相結合,您可以添加自定義編輯選項來滿足特定用例場景的需求。在本文中,您將了解如何通過數據視圖編輯器來豐富 Grid 的配置。
const grid = new dhx.Grid("grid", { columns: [ { id: "project", header: [{ text: "Project" }], width: 180 }, { id: "owner", header: [{ text: "Owner" }], mark: () => "dataview-editor", editable: false, autoWidth: true }, … // Config for other columns ], selection: true, editable: true, keyNavigation: false, data, });在這一步中,您還需要定義網格的默認行為 —— 啟用編輯、選擇功能,禁用鍵盤導航,并加載初始數據。
const dataview = new dhx.DataView(null, { selection: true, itemsInRow: 2, template: ({ name, photo, post, phone, birthday, mail }) => (` ... // Custom HTML layout for cards appearing in the editor `), `), data: owner_data, });
const popup = new dhx.Popup({ css: "dhx_widget--border-shadow popup", }); popup.attach(dataview);
eventHandlers: { onclick: { "dataview-editor": (event, { row, col }) => { const ownrer = dataview.data.find(item => item.name == row[col.id]); dataview.selection.add(ownrer.id);// Highlights the selected card in the DataView popup.show(event.target, { centering: false });// Opens the popup near the clicked element } } },
dataview.events.on("AfterSelect", () => { const owner = dataview.selection.getItem(); const { row } = grid.selection.getCell(); grid.data.update(row.id, { "owner": owner.name }); popup.hide(); });這一步使自定義編輯器按預期運行 —— 用戶點擊單元格、選擇卡片,網格會實時更新內容。
… .dhx_dataview_template_d__picture { width: 110px; min-width: 110px; background: center center/cover no-repeat #f7f7f7; } .dhx_dataview_template_d__picture:before { content: ""; display: block; padding-top: 100%; } .dhx_dataview_template_d__body { padding-left: 12px; width: 150px; } …這些樣式用于在初始化dhx.DataView時,對步驟 2 中提供的 DataView 項模板進行結構和樣式設置。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn