精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-10
最后修改:2010-06-10
datagrid现在具有行编辑能力了,使用时只须在columns中为需要编辑的列添加一个editor属性,编辑保存时同时具有数据校验能力。 看一个例子效果图: 代码如下: $('#tt').datagrid({ title:'Editable DataGrid', iconCls:'icon-edit', width:660, height:250, singleSelect:true, idField:'itemid', url:'datagrid_data.json', columns:[[ {field:'itemid',title:'Item ID',width:60}, {field:'productid',title:'Product',width:100, formatter:function(value){ for(var i=0; i<products.length; i++){ if (products[i].productid == value) return products[i].name; } return 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:150,editor:'text'}, {field:'status',title:'Status',width:50,align:'center', editor:{ type:'checkbox', options:{ on: 'P', off: '' } } }, {field:'action',title:'Action',width:70,align:'center', formatter:function(value,row,index){ if (row.editing){ var s = '<a href="#" onclick="saverow('+index+')">Save</a> '; var c = '<a href="#" onclick="cancelrow('+index+')">Cancel</a>'; return s+c; } else { var e = '<a href="#" onclick="editrow('+index+')">Edit</a> '; var d = '<a href="#" onclick="deleterow('+index+')">Delete</a>'; return e+d; } } } ]], onBeforeEdit:function(index,row){ row.editing = true; $('#tt').datagrid('refreshRow', index); }, onAfterEdit:function(index,row){ row.editing = false; $('#tt').datagrid('refreshRow', index); }, onCancelEdit:function(index,row){ row.editing = false; $('#tt').datagrid('refreshRow', index); } });
原文及下载地址:http://jquery-easyui.wikidot.com/tutorial:datagrid12
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-12
请问datagrid如何隐藏列呢?
|
|
返回顶楼 | |
发表时间:2010-06-12
在columns中不定义出来就不显示,但其数据一直可用。
|
|
返回顶楼 | |
发表时间:2010-06-12
stworthy 写道 在columns中不定义出来就不显示,但其数据一直可用。
对的 自己试出来了 也非常感谢你 |
|
返回顶楼 | |
发表时间:2010-06-12
再请教下在editor中的对象属性具体设置呢... 在api上没有呢...
options:{ valueField:'productid', textField:'name', data:products, required:true } 比如这样的otpions中的属性定义 非常感激 |
|
返回顶楼 | |
发表时间:2010-06-12
请教 在删除时怎么得到该行的id呀
|
|
返回顶楼 | |
发表时间:2010-06-12
这是学ext的,还没学到家
|
|
返回顶楼 | |
发表时间:2010-06-13
ext做这个好用。
|
|
返回顶楼 | |
发表时间:2010-06-13
angelhanyl 写道
请教 在删除时怎么得到该行的id呀
调用deleteRow进行删除时是发生在客户端,这时后台并不发生任何数据操作。 要得到所有已删除的记录,可以调用下面代码: var rows = $('#tt').datagrid('getChanges', 'deleted'); for(var i=0; i<rows.length; i++){ alert(rows[i].itemid); // 取得已删除的ID }
这样就可以在客户端进行修改后再一次性提交到后台。
|
|
返回顶楼 | |
发表时间:2010-06-13
stworthy 写道 在columns中不定义出来就不显示,但其数据一直可用。
原来这样 |
|
返回顶楼 | |