1

シグマグリッドの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]);
}

さらに調査すると、シグマグリッドのドキュメントrecordには、パラメータのタイプはまたObjectはでありArray、ではないと記載されていStringます。

于 2012-06-22T17:43:25.993 に答える
0

次の 2 つのチェックを実行する必要があります。

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 に答える