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); } }