文檔首頁>>jQuery EasyUI使用教程>>jQuery EasyUI使用教程:啟用數(shù)據(jù)網(wǎng)格內(nèi)聯(lián)編輯
jQuery EasyUI使用教程:啟用數(shù)據(jù)網(wǎng)格內(nèi)聯(lián)編輯
Kendo UI for jQuery——創(chuàng)建現(xiàn)代Web應(yīng)用程序的最完整UI庫!查看詳情>>>
可編輯的功能已經(jīng)添加到數(shù)據(jù)網(wǎng)格中了,它使用戶能夠添加新的行到數(shù)據(jù)網(wǎng)格中,用戶還可以更新一個或多個行。本教程將介紹如何創(chuàng)建一個具有內(nèi)聯(lián)編輯功能的數(shù)據(jù)網(wǎng)格。
創(chuàng)建數(shù)據(jù)網(wǎng)格
$(function(){ $('#tt').datagrid({ title:'Editable DataGrid', iconCls:'icon-edit', width:660, height:250, singleSelect:true, idField:'itemid', url:'data/datagrid_data.json', columns:[[ {field:'itemid',title:'Item ID',width:60}, {field:'productid',title:'Product',width:100, formatter:function(value,row){ return row.productname || value; }, editor:{ type:'combobox', options:{ valueField:'productid', textField:'name', data:products, required:true } } }, {field:'listprice',title:'List Price',width:80,align:'right',editor:{type:'numberbox',options:{precision:1}}}, {field:'unitcost',title:'Unit Cost',width:80,align:'right',editor:'numberbox'}, {field:'attr1',title:'Attribute',width:180,editor:'text'}, {field:'status',title:'Status',width:50,align:'center', editor:{ type:'checkbox', options:{ on: 'P', off: '' } } }, {field:'action',title:'Action',width:80,align:'center', formatter:function(value,row,index){ if (row.editing){ var s = '<a href="javascript:void(0)" onclick="saverow(this)">Save</a> '; var c = '<a href="javascript:void(0)" onclick="cancelrow(this)">Cancel</a>'; return s+c; } else { var e = '<a href="javascript:void(0)" onclick="editrow(this)">Edit</a> '; var d = '<a href="javascript:void(0)" onclick="deleterow(this)">Delete</a>'; return e+d; } } } ]], onEndEdit:function(index,row){ var ed = $(this).datagrid('getEditor', { index: index, field: 'productid' }); row.productname = $(ed.target).combobox('getText'); }, onBeforeEdit:function(index,row){ row.editing = true; $(this).datagrid('refreshRow', index); }, onAfterEdit:function(index,row){ row.editing = false; $(this).datagrid('refreshRow', index); }, onCancelEdit:function(index,row){ row.editing = false; $(this).datagrid('refreshRow', index); } }); });
想要在數(shù)據(jù)網(wǎng)格中啟用編輯功能,您需要添加一個編輯器屬性到列中。編輯器會告訴數(shù)據(jù)網(wǎng)格如何編輯字段以及如何保存字段值,我們定義了三個編輯器:text、combobox和checkbox。
function getRowIndex(target){ var tr = $(target).closest('tr.datagrid-row'); return parseInt(tr.attr('datagrid-row-index')); } function editrow(target){ $('#tt').datagrid('beginEdit', getRowIndex(target)); } function deleterow(target){ $.messager.confirm('Confirm','Are you sure?',function(r){ if (r){ $('#tt').datagrid('deleteRow', getRowIndex(target)); } }); } function saverow(target){ $('#tt').datagrid('endEdit', getRowIndex(target)); } function cancelrow(target){ $('#tt').datagrid('cancelEdit', getRowIndex(target)); }
下載EasyUI示例:easyui-datagrid-demo.zip