有没有办法在所选网格的左上角放置对话框消息“请选择行”?
我只想在警告警告中使用相同的行为,就像编辑和删除表单一样。
这个主题解决方案对我不起作用.. JQGrid position of the AlertMod warning message
我在同一页面中有3个网格,如果您点击最后一个网格的一行,则警告信息会显示在页面顶部,并且对用户来说无法察觉...
任何人都可以帮助我吗?
提前致谢
解决方案:
var orgViewModal = $.jgrid.viewModal;
$.extend($.jgrid, {
viewModal: function (selector, o) {
if (selector === '#alertmod') {
var $gbox = $(o.gbox), $selector = $(selector);
var of = $gbox.offset(), w = $gbox.width(), h = $gbox.height();
var w1 = $selector.width(), h1 = $selector.height();
$selector.css({
'top': of.top + ((h-h1)/2),
'left': of.left + ((w-w1)/2)
});
}
orgViewModal.call(this, selector, o);
}
});
对于其他感兴趣的人,这个解决方案适合我。仅更改警报框的位置并保持其他所有内容相等。
答案 0 :(得分:0)
看看这个答案
http://www.ok-soft-gmbh.com/jqGrid/CenterEditForm.htm
您需要更改您的beforeShowForm事件
或者您可以在afterShowform事件上实现此功能
function centerForm ($form) {
$form.closest('div.ui-jqdialog').position({
my: "center",
of: $('#grid').closest('div.ui-jqgrid')
});
}
function centerForm ($form) {
$form.closest('div.ui-jqdialog').position({
my: "center",
of: $('#grid').closest('div.ui-jqgrid')
});
}
答案 1 :(得分:0)
如果我理解您的问题,您可以使用navGrid的alerttop
和alertleft
选项。参数可以包含在parameters
的{{1}}选项中。 The answer描述了navGrid
的另一个未记录的选项。
答案 2 :(得分:0)
正如我在评论中写的那样,我有一个长桌,我需要警报窗口始终位于视口的中心。 所以我需要动态定位警报窗口。 我需要在用户向下滚动页面后设置位置,然后单击“编辑”或“删除”。
据我所知,Nav没有警报模式窗口的“beforeShowForm”或“beforeShowSearch”等事件。 此外,我无法抓住寻呼机上的点击。
Oleg和Paulo Pinto提供的解决方案对我不起作用。我不知道为什么。 我甚至不明白它是如何工作的:)
所以我找到了自己的直接......并不是很好的方式。
loadComplete: function(){
$(window).scroll(function() {
$('#alert_window_id').center();
});
}
其中“center()”是
jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
return this;
}
在loadComplete之后,警报div似乎已经存在并且网格具有其全高,因此窗口滚动也存在。 因为我没有点击“编辑”按钮或显示警告对话框的事件 - 我在每次滚动事件后重新定位警报对话框。