jqgridの高度な検索ダイアログウィンドウのサイズと位置は、マウスで変更できます。
それらの変更は記憶されません。次回開くと、デフォルトのサイズと位置が表示されます。
おそらくローカルストレージを使用して、それを保存および復元する方法。また、リソースを再配置する前に、画面の解像度またはサイズが変更された場合に検索ダイアログの一部が表示されることを確認する必要があります。
アップデート
以下のコードを使用して、Olegの回答を拡張してウィンドウの位置を保存/復元しようとしました。検索ウィンドウは、最初とは異なる位置に復元されます。以下のコードを使用して削除された左と上の値が間違っているようです。位置を元に戻す方法も?
var oldJqDnRstop, searchParams = { width: 550, left: 5, top: 5 };
if ($.jqDnR) {
oldJqDnRstop = $.jqDnR.stop; // save original function
$.jqDnR.stop = function (e) {
var $dialog = $(e.target).parent(), dialogId = $dialog.attr("id");
oldJqDnRstop.call(this, e); // call original function
if (typeof dialogId === "string" && dialogId.substr(0, 14) === "searchmodfbox_") {
// save the dialog position here
// we save "width" option as the property of searchParams object
// used as parameter of navGrid
searchParams.width = $dialog.width();
searchParams.left = $dialog.offset().left;
searchParams.top = $dialog.offset().top;
saveWindowState();
}
};
}
Update2
Olegデモでは、ダイアログヘッダーをブラウザウィンドウの外に移動できます。その後、ダイアログは移動できなくなります。これを修正する方法は?