更新 カスタム フォーマッタでデータをポイントする際に問題があります。
jqgrid のカスタム フォーマッタを使用しています。
function myformatter ( cellvalue, options, rowObject )
{
....
現在、私のカスタム フォーマッタは、常に grid の最後の行を指しているようです。実際、rowObject[0]
たとえば を取得すると、グリッドの [列 0、最後の行] の値が得られます。なんで?
グリッドのデータは正しくコンパイルされており、Json オブジェクトの内容を確認済みです。
これが私のカスタムフォーマッタです:
......
{ name: 'act', index: 'Detail', width: 50, sortable: false, search: false,
formatter: function (cellvalue, options, rowObject) {
i = options.rowId;
var tst = '<a class="nau" name="nau" onClick="alert(i);return false;" href="#"></a>';
var det = '<a class="det" name="det" onClick="alert(this.name);return false;" href="#"></a>';
return tst + det;
}
}
....
アップデート
必要な文字列を直接返すとフォーマッタが正常に動作することに気付きました (たとえば、正常にreturn rowObject[0]
動作します)。変数を使用すると問題が発生します。さらに、やろうとすると、存在しないonclick=alert(rowObject[0])
という例外が発生します。rowObject
これが問題だと思います。 を設定t = rowObject[0]
すると、フォーマッタはt
行ごとに更新するのではなく、静的変数として使用します。を設定した場合も同じですがi = options.rowId
、i
静的なままです...なぜですか?どうすればいいですか?