JQgridレンダリングでパフォーマンスの問題があります。お知らせ下さい。
JQGrid v4.3.2、jquery-1.7.2.min.js、jquery-ui-1.8.1.sortable.min.js、jquery-ui-1.8.20.custom.min.jsブラウザー:IE6,7
すべてのユーザーには、アクションとfyiの2つのグリッドでデータが表示されます。通常のデータ範囲は、各グリッドで最大300行です。列のリストはユーザーグループによって異なる可能性があるため、colModel構造は動的です。データを取得した後、各行に条件付きスタイルを適用し(太字にするかどうかなど)、数値の書式を変更します。
グリッドのコードサンプルは次のとおりです。
jQuery('#ActionItems').jqGrid({
url: 'http://actionsurl',
mtype: 'GET',
datatype: 'json',
page: 1,
colNames: actionsColNames,
colModel: actionsColModel,
viewrecords: true,
loadonce: true,
scrollrows: false,
prmNames: { id: "PrimaryID" },
hoverrows: false,
jsonReader: { id: "PrimaryID" },
sortname: 'CreateDt',
sortorder: 'desc',
gridComplete: function () {
fnActionsGridComplete();
},
recordtext: "Displaying {1} of {2} Records",
emptyrecords: "No data to view",
emptyDataText: "No data found.",
loadtext: "Loading...",
autoWidth: true,
rowNum: 1000,
grouping: true,
groupingView: groupingViewOp
});
fnActionsGridComplete()のコードのフォーマット:
- 列幅を%で設定します
行を繰り返し処理して、条件付きcssスタイルを適用します
$("#Actions").find("tbody tr").each(function () { if ($(this)[0].id != '') { var data = $(this).find('.IsItemNew').html(); if(data == "Y") { $(this).css("fontWeight", "bold"); } } });
- 特定の列のフォーマット。
現在、どのグリッドでも200行を超えるデータのパフォーマンスに問題があります。分析の結果、フォーマットとレンダリングに最も時間がかかることがわかりました。
ここでパフォーマンスを改善するための最適な方法を提案できますか。(ページングはノーノー)
よろしく、ラジャニ
-IE9とそのはるかに優れたテストを行いました。ただし、ユーザーはすぐにアップグレードすることはできません。