ページング付きの JQWidget グリッドを使用してテーブル データを表示し、1 つの列の値を文字列に置き換えています。これは最初のページでは正常に機能しますが、テーブルの次のページを開くと、文字列の置換が得られなくなり、元の値のみが得られます。
私のホームページでは、次のコードを使用しています。これは期待どおりに機能します (表では、'A' と 'W' は 'newString' と 'newString2' に置き換えられています)。
$("#jqxgrid").bind("bindingcomplete", function (event) {
var numrows = $("#jqxgrid").jqxGrid('getrows');
for (i = 0; i < numrows.length; i++) {
var value = $("#jqxgrid").jqxGrid('getcellvalue', i, 'column');
if (value == 'W') {
$("#jqxgrid").jqxGrid('setcellvalue', i, 'column', 'newString');
}
else if (value == 'A') {
$("#jqxgrid").jqxGrid('setcellvalue', i, 'column', 'newString2');
}
});
ページ数に基づいて上記のバインド関数をループに配置するなど、新しいページについていくつかのアイデアを試しました。
var paginginfo = $("#jqxgrid").jqxGrid('getpaginginformation');
for (i = 0; i < paginginfo.pagescount; i++) { ...
また、バインディング関数をページ変更イベントに関連付けられた別の関数内に配置しようとしました:
$("#jqxgrid").bind("pagechanged", function (event) {
$("#jqxgrid").bind("bindingcomplete", function (event) { ...
しかし、これらのどちらも機能しませんでした。おそらく「numrows」が setcellvalue を最初のページに制限しているのでしょうか? ありがとう //