1

我正在使用 Sigma Grid 的 onCellClick 函数来允许用户从网格中进行选择,并使用所选信息更新表单。

当我尝试拆分从 onCellClick 返回的记录(返回与网格行关联的记录)时,我得到一个指向拆分线的“对象不支持此属性或方法”。

onCellClick : function(value, record, cell, row, colNO, rowNO, columnObj, grid){
            var recordCurrent = record;
            var recordSplit = recordCurrent.split(",");
            alert("Participant is " + recordSplit[1]);
            }

如果我发出警报,显示来自 onCellClick 事件的未拆分记录,它会显示我期望的数据。

我错过了一些明显的东西。您可以提供的任何方向将不胜感激。

4

2 回答 2

1

您收到的错误"Object doesn't support this property or method"表明您正在尝试调用.split没有它的东西(不是字符串)。

在使用它们之前,您应该检查您的参数是否是您期望的类型:

if (typeof record !== 'string') {
    throw new Error('You must pass a string as the record to onCellClick!');
} else {
    var recordCurrent = record;
    var recordSplit = recordCurrent.split(",");
    alert("Participant is " + recordSplit[1]);
}

经过进一步调查,Sigma 网格文档指出record参数的类型是ObjectArray,不是String

于 2012-06-22T17:43:25.993 回答
0

您应该执行两项检查:

1)实际上有记录

2) 拆分记录中包含多个对象

onCellClick : function(value, record, cell, row, colNO, rowNO, columnObj, grid){
    if (record.length) {
        var recordSplit = record.split(",");
        if (recordSplit.length > 1) {
            alert("Participant is " + recordSplit[1]);
        }
    }
}
于 2012-06-22T17:27:44.967 回答