javascript - ExtJs:如何验证可编辑网格并防止空单元格

标签 javascript extjs extjs4

我需要使用 this 验证网格关联。但我无法使用 getByCellPosition 函数,并且由于其输入参数 {row: idx, column: i} ,它返回 false 。

如何从网格中获取单元格并调用此函数?

store = grid.getStore();
view = grid.getView();
error = false;
columnLength = grid.columns.length;

    store.each(function(record,idx){
     for (var i = 0; i < columnLength; i++) {
      cell = view.getCellByPosition({row: idx, column: i});
      cell.removeCls("x-form-invalid-field");
      cell.set({'data-errorqtip': ''});
      fieldName = grid.columns[i].dataIndex;
      if (fieldName === 'WHATEVER') {
       //Do your validation here
       if(failed) {
        cell.addCls("x-form-invalid-field");
        cell.set({'data-errorqtip': 'Your error message qtip'});
        error = true;
       }
        }
     }  
    });

最佳答案

我认为使用“渲染器”是简单而有效的方法。如果它适合您的代码,您可以尝试以下操作:https://fiddle.sencha.com/#fiddle/tl3

var validRenderer = function (val, meta, rec, rowIndex, colIndex, store) {
            if (val == isNotValid) {
                meta.tdAttr = 'data-qtip=" '+val+' is not right person"';
                meta.style = "background-color:red;"; 
            }
            return val;
        }



        var grid = Ext.create('Ext.grid.Panel', {
            store: store1,
            columns: [
                {
                    text: 'Name',
                    dataIndex: 'name',
                    renderer: validRenderer
                }
            ],
            renderTo: Ext.getBody()
        }); 

关于javascript - ExtJs:如何验证可编辑网格并防止空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495390/

相关文章:

javascript - 在多选组合中具有指定值的 Ext 属性网格

javascript - JSON 格式的 Ext.data.store POST 数据问题

javascript - 为什么我的代码会多次触发

javascript - ng-repeat 更新实时数据时闪烁

javascript - "sencha app watch"到底在做什么?

networking - 如何在 sencha touch 中检测互联网连接

javascript - 如何在jsfiddle中创建面板?

javascript - 真的需要模型吗?它们有什么优势?

javascript - 如何在浏览器中使用ethereumjs-tx

javascript - 如果选择了单选按钮则显示字段