zoukankan      html  css  js  c++  java
  • Extjs grid 单元格编辑

    实现grid勾选后出现编辑按钮,通过增加一个字段checked来控制

    事件如下:

    selectionchange: function (thi, selected, eOpts) {
    for (var i = 0; i < selected.length; i++) {
    if (selected[i].data["checked"] != true) {
    selected[i].beginEdit();
    selected[i].set("checked", true);
    selected[i].endEdit();
    }
    };
    },
    deselect: function (row, record, index, eOpts) {
    record.beginEdit();
    record.set("checked", false);
    record.endEdit();
    },

    grid中如下:

    {
    header: " ",//BlockingReason button
    dataIndex: " ",
    tooltip: " ",
    30,
    renderer: function (v, m, recod, rowindex, colindex) {
    m.tdAttr = 'style="background-color: #CCFFCC;"';
    //console.log(v, m, recod, rowindex, colindex);
    if (recod.data.checked == true) {//
    return "<img src='Scripts/Ext/resources/images/icons/add.png' style='float: right;'/>";
    }
    else {
    return v;
    }
    ;
    },
    listeners: {
    click: function (view, td, rowIndex, cellIndex, e, record, tr, eOpts) {
    if (record.data["checked"] != true) {
    return;
    };
    var win = Ext.create("Scripts.Code.MDM.Quality.DefectCause.DefectCauseCorp.view.ImputationWindow", {
    myfrom: 'A',
    record: record // 传到弹出窗
    });
    win.show();
    var hidegroup = record.data["IMPUT_RSN_CODE"];
    var grid = win.down('grid');
    var store = grid.getStore();
    store.load();
    store.on('load', function () {
    var record = store.findRecord('COMM_CODE_NM', ' ');
    if (record != null) {
    store.remove(record);
    };
    if ((hidegroup != null) && (hidegroup != "")) {
    hidegroup = hidegroup.replace(/'/g, "");
    var code = hidegroup.split(',');
    var allrecords = grid.getStore().getRange(0, grid.getStore().getCount() - 1);
    var arr = [];
    for (var a = 0; a < allrecords.length; a++) {
    for (var b = 0; b < code.length; b++) {
    if (allrecords[a].data.COMM_CODE_NM == code[b]) {
    arr.push(allrecords[a]);
    }
    }
    }
    grid.getSelectionModel().select(arr);//弹出窗中选中记录
    };
    });
    }
    }
    },

    弹出窗保存数据到 grid中,

    Imputationclick: function (btn) {
    var win = btn.up("window");
    var grid = win.down("grid");
    var arr_code = [];
    var arr_name = [];
    var records = grid.getSelectionModel().getSelection();
    for (var i = 0; i < records.length; i++) {
    arr_code.push(records[i].data.COMM_CODE);
    arr_name.push(records[i].data.COMM_CODE_NM);
    };
    var currentRecord = win.record;
    //currentRecord.set("CTRNT_FB_RSN_CONT", arr_code.toString());//???
    currentRecord.set("IMPUT_RSN_CODE", arr_name.toString());//修改grid中的数据
    win.close();
    },

    其他配置

    loadMask: false,
    selModel: {
    injectCheckbox: 0,
    mode: "MULTI", //"SINGLE"/"SIMPLE"/"MULTI"
    checkOnly: true //只能通过checkbox选择
    },
    viewConfig: {
    loadMask: false,
    columnLines: true,
    autoScroll: true,
    enableTextSelection: true
    },
    selType: 'checkboxmodel',

  • 相关阅读:
    IOS开发教程--怎样使用点9图片
    Android studio 自己主动排版
    17 facade
    递归算法时间复杂度分析与改善
    __FUNCTION__, __LINE__ 有助于debug的宏定义
    表名在数据库中的存储大写和小写略解
    七夕节不撸代码你好意思说自己是程序员
    前端开发面试题收集(js部分)
    总体架构
    立即执行的匿名函数
  • 原文地址:https://www.cnblogs.com/hqyj/p/7052855.html
Copyright © 2011-2022 走看看