我收到此消息
未捕获的TypeError:无法调用未定义的方法'getIdxById'
当我尝试在init之外的var函数中执行var idx = this.dataview.getIdxById(dataContext.id);
时。我该如何访问?这只是基本的骨架(customFormatter是列定义的一部分):
function($) {
/**
* @class test.test.testing
*/
/** @Static */
{
defaults : {
columns: [{id: "hello",
name: "hello",
field: "hello",
width: 150,
sortable: true,
formatter: customFormatter},],
}
},
/** @Prototype */
{
init : function() {
this._super(); //the grid
}
});
});
var customFormatter = function (row, cell, value, columnDef, dataContext) {
var idx = this.dataview.getIdxById(dataContext.id);
};
答案 0 :(得分:0)
您没有提供足够的详细信息,但我的猜测是此变量未设置为您想要的值。显然现在这是不确定的。尝试将代码更改为以下内容:
var customFormatter = function (me, row, cell, value, columnDef, dataContext) {
var idx = me.dataview.getIdxById(dataContext.id);
};
// adding argument for this, and then call:
customFormatter(this, row, cell, value, columnDef, dataContext);