jQuery EasyUI DataGrid -Editor extendido
Algunos editores comunes se agregan al DataGrid (datagrid) para que los usuarios puedan editar datos. Todos los editores están definidos en el objeto $.fn.datagrid.defaults.editors, el cual puede heredarse y extenderse para admitir nuevos editores. Este tutorial le mostrará cómo agregar un nuevo editor numberspinner al DataGrid (datagrid).
Heredar y extender el editor numberspinner
$.extend($.fn.datagrid.defaults.editors, {
numberspinner: {
init: function(container, options){
var input = $('<input type="text">').appendTo(container);
return input.numberspinner(options);
},
destroy: function(target){
$(target).numberspinner('destroy');
},
getValue: function(target){
return $(target).numberspinner('getValue');
},
setValue: function(target, value){
$(target).numberspinner('setValue',value);
},
resize: function(target, width){
$(target).numberspinner('resize',width);
}
}
});
Crear el DataGrid en el marcado HTML
<table id="tt" style="width:600px;height:250px"
url="data/datagrid_data.json" title="Editable DataGrid" iconCls="icon-edit"
singleSelect="true" idField="itemid" fitColumns="true">
<thead>
<tr>
<th field="itemid" width="60">Item ID</th>
<th field="listprice" width="80" align="right" editor="{type:'numberbox',options:{precision:1}}">List Price</th>
<th field="unitcost" width="80" align="right" editor="numberspinner">Unit Cost</th>
<th field="attr1" width="180" editor="text">Attribute</th>
<th field="status" width="60" align="center" editor="{type:'checkbox',options:{on:'P',off:''}}">Status</th>
<th field="action" width="80" align="center" formatter="formatAction">Action</th>
</tr>
</thead>
</table>
Asignamos el editor numberspinner al campo 'unit cost'. Cuando comienza a editar una fila, el usuario puede editar los datos con el editor numberspinner.
Descargar ejemplos de jQuery EasyUI
jeasyui-datagrid-datagrid23.zip
Otras extensiones