禁用行编辑:
在编辑方法调用前,对选择的行进行判断,如果不允许编辑,就返回不调用编辑方法,如果允许编辑,则继续。
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);
}
}