为了实现easyui datagrid行内编辑时的数据联动,找了很多方法,也找了不少人帮忙,最后总共用到了三种:
1:取得那一行的数据,设置值,结束行编辑,开始行编辑;
2:动态改变编辑器的类型,前后要结束行编辑,开始行编辑,结束行编辑,开始行编辑,效率最低;
3:使用combobox编辑器,或隐藏,或使能(disabled),或editable,还有hasDownArrow属性
onSelect : function(record) {
// var row = jQuery('#tt').datagrid('getRows');
// row[lastIndex].provinceId = record.leafbaseName;
// jQuery('#tt').datagrid('endEdit', lastIndex);
// jQuery('#tt').datagrid('beginEdit', currentRowIndex);
// jQuery('#tt').datagrid('endEdit', lastIndex);
// changeProvince = true;
// jQuery('#tt').datagrid('beginEdit', lastIndex);
var ed = jQuery('#tt').datagrid('getEditor', {
index : lastIndex,
field : 'provinceId'
}); // get the editor
jQuery(ed.target).combobox('setValue',
record.leafbaseName + "abc");
// jQuery('#tt').datagrid('endEdit', lastIndex);
// changeProvince = false;
// jQuery('#tt').datagrid('beginEdit', lastIndex);
if (record.leafbaseName == '武汉') {
jQuery(ed.target).combobox({
disabled : false
});
} else {
jQuery(ed.target).combobox({
disabled : true
});
}
alert(jQuery(ed.target).combobox('getValue'));
}
, {
field : 'provinceId',
title : '省份',
width : 120,
// hidden : true,
align : 'center',
editor : {
type : 'combobox',
options : {
// editable : false,
// disabled : true,
hasDownArrow : false
}
}
},
onBeforeEdit : function(row) {
// if (changeProvince) {
// var provinceColumn = jQuery('#tt').datagrid(
// 'getColumnOption', "provinceId");
// provinceColumn.editor = 'combobox';
// } else {
// var provinceColumn = jQuery('#tt').datagrid(
// 'getColumnOption', "provinceId");
// provinceColumn.editor = null;
// }
}