Easyui datagrid 行编辑、列编辑、单元格编辑设置
功能:
动态对datagrid 进行行、列、单元格编辑进行设置不允许编辑。
禁用行编辑:
在编辑方法调用前,对选择的行进行判断,如果不允许编辑,就返回不调用编辑方法,如果允许编辑,则继续。
e.g: var row = $("#dg").datagrid("getSelected"); //取选择的行 if(row) { if(row.productname=='Koi')//不允许编辑的条件 return; } $('#dg').datagrid('selectRow', index) .datagrid('beginEdit', index);
动态设置禁用列编辑:
允许编辑的列都会定义一个editor属性,按照datagrid列编辑设计理念,不允许列编辑,即把指定列的ecitor属性赋空。其中: 'listprice'为列名.如果指定的列始终不允许编辑,在列初始化时,不设置列的editor属性即可。
e.g var e = $("#dg").datagrid('getColumnOption', 'listprice'); e.editor = {};
禁用单元格编辑:
单元格在页面中中现的是一个hmtl控件,找到不允许编辑的单元格的html控件,设置disabled属性为true,具体的做法是:先定位到编辑的行,根据指定的列名定位到单元格,获取这个单元格的editor,每个editor对象都有以下四个属性:
这个editor的target即是呈现单元格的对象,设置这个呈现对象的disabled属性为true,就禁用编辑了。'attr1'为列名, editIndex待编辑的行
e.g var row = $("#dg").datagrid("getSelected"); if(row) { if(row&&row.itemid=='EST-15') { var ed2 = $('#dg').datagrid('getEditor', { 'index': editIndex, field: 'attr1' }); $(ed2.target).attr("disabled", true); } }