为了实现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; // } }
来不及整理,先把这些片段记录下来,上面将三种方法给混在一起了
easyui datagrid行内编辑时的数据联动
最新推荐文章于 2022-03-09 14:57:08 发布