
虽然过了这么久 我还是回答一下方便以后也进坑的人
http://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&theme=default&dir=ltr&pitem=
官网有一个可用的实例
我从这可运行源代码知道,我们还要做两步
实现编辑器
上面的官网有一个实例代码了
http://www.jeasyui.com/easyui/datagrid-cellediting.js?_=1484117738646
复制另存为js引入
启动编辑框
.datagrid('enableCellEditing')
下面是官网的实例代码,初始化完还要启动编辑框
var dg = $('#dg').datagrid({
data: data
}).datagrid('enableCellEditing')
我只想说,这官方文档是真蠢。。。特别是英文文档,根本没有提过这个,要不是有一个能运行的demo我也不知道,我真是日了够了
首先,为需要编辑的列设置编辑器例如:
{field:'F1',title:'编辑咧列',width:100,align:'center',
editor: {
type: 'numberbox',
options: {
min:1
}
}
}
第二步,按钮点击事件中添加代码
$('#dg').datagrid('appendRow',{
F1: '新名称'
})
三,开启编辑列
$('#dg').datagrid("beginEdit", i)//i为需要编辑的行号
<script type = "text/javascript">var editindex = undefined
function onClickRow(index)//这是触发行事件
{
if(endediting()){
$('#dg').datagrid('selectRow',index).datagrid('beginedit',index)//其中beginEdit方法为datagrid的方法,具体可以参看api
editIndex = index//给editIndex对象赋值,index为当前行的索引
}else {
$('#dg').datagrid('selectRow',edtiIndex)
}
}
}
function endEditing()
{
if(editIndex == undefined) {return true}//如果为undefined的话,为真,说明可以编辑
if($('#dg').datagrid('validateRow',editIndex)) {
#('#dg').datagrid('endEdit',editIndex)//当前行编辑事件取消
editIndex = undefinedreturn true//重置编辑行索引对象,返回真,允许编辑
}else{return false}//否则,为假,返回假,不允许编辑
}
</script>
再将onClickRow()方法加在你需要编辑的datagrid中,easyuidatagrid中存在一个onClickRow,点击行事件,对应上就可以了。还可以设置点击行的颜色,编辑后的颜色,很有意思,具体参看api,希望能帮到你。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)