爲了實現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;
// }
}