jqgrid 高级搜索对话框窗口的大小和位置可以通过鼠标更改。
这些更改不会被记住。下次打开,显示默认大小和位置。
如何保存和恢复它,可能使用本地存储。在重新搜索之前,还应检查如果屏幕分辨率或大小发生变化,搜索对话框的一部分是否可见。
更新
我也尝试使用下面的代码扩展 Oleg 答案以保存/恢复窗口位置。搜索窗口恢复到与最初不同的位置。看起来使用下面的代码检索的 left 和 top 值是错误的。如何恢复位置呢?
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();
}
};
}
更新2
在 Oleg 演示中,对话框标题可以移动到浏览器窗口之外。之后对话框不再可移动。如何解决这个问题?