我目前正在使用带有navGrid的jqGrid,del设置为true.问题是当用户点击删除时,它会弹出网格左上角的确认框.由于我们已经向下滚动到最底部,我有一个很大的高度,用户必须一直到顶部确认.有没有办法改变这个位置?手动偏移很好,但理想情况下我想将它停靠在左下方,如左上方所示.
提前致谢
解决方法
我发现这不是一个骗局.相反,我发现它对我来说很好.
jqGrid在内部使用方法viewModal($.jgrid.viewModal),它显示了最多的对话框.该方法有toTop参数,但是delGridRow和editGridRow不使用它,它将被设置为toTop:true.因此,添加,编辑和删除对话框将始终显示在网格的顶部,该网格可以位于可访问区域内.
要解决此问题,您可以定义更改对话框位置的afterShowForm事件句柄.例如
$("#list").jqGrid('navGrid','#pager',{},{ afterShowForm: function($form) { var dialog = $form.closest('div.ui-jqdialog'),selRowId = myGrid.jqGrid('getGridParam','selrow'),selRowCoordinates = $('#'+selRowId).offset(); dialog.offset(selRowCoordinates); } });
在该示例中,对话框将放置在所选行上.当对话框的最后一行和底部的选定行位于窗口之外时,可以改进代码.尽管如此,上面的实现似乎更好地作为默认实现,因为用户看到对话框正好在他想要删除的行上,并且他可以移动对话框以使其完全可见.
您可以在the live demo上测试“删除”对话框的建议移动.