初学jquery easyui,给表格添加行内编辑器,怎么不管用啊?代码如下:

初学jquery easyui,给表格添加行内编辑器,怎么不管用啊?代码如下:,第1张

虽然过了这么久 我还是回答一下方便以后也进坑的人

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,希望能帮到你。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11810868.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存