• easyui datagrid动态修改editor时动态绑定combobox的数据


    需求在 datagrid 编辑框中开启一个combobox  ,但是里面的数据需要开启的时候才会知道,数据会根据其他因数变更

    参考原文 :http://blog.csdn.net/donggua3694857/article/details/51433882

    //点击单元格触发的事件  
         function onClickCell(index, field) {
        	 if (endEditing() && fag) {  
                 $('#subDg').datagrid('selectRow', index).datagrid('editCell', { index: index, field: field });//开启field单元格编辑  
                 editIndex = index;  
             } var taskLevelsData =$("#taskLevels").val(); //数据源 如: 11,22,33,44,55, if(field=="taskLevel" && taskLevelsData){//下拉编辑列时触发 taskLevel 为列名 var editors = $('#subDg').datagrid('getEditors', index);//取当前的编辑器 var row = $('#subDg').datagrid('getRows')[index]; var smEditor = editors[0]; $(smEditor.target).combobox({ onLoadSuccess: function () { //远程加载时触发 }, onShowPanel: function(){ //下拉展开时动态修改options var data = [];    $.each(taskLevelsData.split(","),function(i,e){ var obj={}; obj.id=e; obj.text=e; data.push(obj);   })                  $(smEditor.target).combobox("loadData", data); //设置值 $(smEditor.target).combobox('setValue', row.taskLevel); //row的属性赋值 } }); } }
      
       
    var editIndex = undefined;  
         //判断是否编辑结束  
         function endEditing() {  
             if (editIndex == undefined) { return true }  
             if ($('#subDg').datagrid('validateRow', editIndex)) {  
                 $('#subDg').datagrid('endEdit', editIndex);  
                 editIndex = undefined;  
                 return true;  
             } else {  
                 return false;  
             }  
         }
    
    $.extend($.fn.datagrid.methods, {  
             editCell: function (jq, param) {  
                 return jq.each(function () {  
                     var opts = $(this).datagrid('options');  
                     var fields = $(this).datagrid('getColumnFields', true).concat($(this).datagrid('getColumnFields'));  
                     for (var i = 0; i < fields.length; i++) {  
                         var col = $(this).datagrid('getColumnOption', fields[i]);  
                         col.editor1 = col.editor;  
                         if (fields[i] != param.field) {  
                             col.editor = null;  
                         } 
                     }  
                     $(this).datagrid('beginEdit', param.index);  
                     for (var i = 0; i < fields.length; i++) {  
                         var col = $(this).datagrid('getColumnOption', fields[i]);  
                         col.editor = col.editor1;  
                     }  
                 });  
             }  
         });
    
  • 相关阅读:
    C语言函数指针
    C语言动态申请内存
    C语言指针的常见错误
    C语言指针和数组的关系
    jni c语言使用指针交换两个值
    求两条线段的交点
    利用Opencv在PictureControl中显示照片
    根据反射解析和转换DataRow
    快速排序代码备份
    OpenCV常用图像操作和鼠标操作(双11版本)
  • 原文地址:https://www.cnblogs.com/mytzq/p/7421544.html
Copyright © 2020-2023  润新知