Jquery JqGrid:设置“的位置”;“未选择任何行”;对话
因此,我找到了一些很好的修复方法,可以使确认删除、编辑、查看等对话框居中。但是,当网格上未选择任何行时,将出现一个不同的对话框,显示一个简单的“警告:请选择行”。除此对话框语法糟糕外,我似乎无法找到处理此对话框事件的方法,以便根据需要重新定位 我为navGrid中我能找到的每个事件添加了处理程序,并使用BugZilla查看它是否会在这些事件中的任何一个上停止,但没有任何效果选择行时,将触发删除事件。思想?下面是我的代码:Jquery JqGrid:设置“的位置”;“未选择任何行”;对话,jquery,asp.net-mvc,jqgrid,Jquery,Asp.net Mvc,Jqgrid,因此,我找到了一些很好的修复方法,可以使确认删除、编辑、查看等对话框居中。但是,当网格上未选择任何行时,将出现一个不同的对话框,显示一个简单的“警告:请选择行”。除此对话框语法糟糕外,我似乎无法找到处理此对话框事件的方法,以便根据需要重新定位 我为navGrid中我能找到的每个事件添加了处理程序,并使用BugZilla查看它是否会在这些事件中的任何一个上停止,但没有任何效果选择行时,将触发删除事件。思想?下面是我的代码: $('#sessionGrid').jqGrid({...}).navGr
$('#sessionGrid').jqGrid({...}).navGrid('#sessionPager', {
add: false,
edit: false,
del: true,
search: false,
closeOnEscape: true
}, {
afterShowForm: function (form) {
form.closest('div.ui-jqdialog').center();
}
}, {
afterShowForm: function (form) {
form.closest('div.ui-jqdialog').center();
}
}, {
caption: "Delete",
msg: "Delete the selected sessions?",
bSubmit: "Delete",
bCancel: "Cancel",
afterShowForm: function (form) {
form.closest('div.ui-jqdialog').center();
}
}, {
afterShowForm: function (form) {
form.closest('div.ui-jqdialog').center();
}
}, {
afterShowForm: function (form) {
form.closest('div.ui-jqdialog').center();
}
});
中的以下代码用于显示此对话框:
if (o.del) {
tbd = $("<td class='ui-pg-button ui-corner-all'></td>");
pDel = pDel || {};
$(tbd).append("<div class='ui-pg-div'><span class='ui-icon "+o.delicon+"'></span>"+o.deltext+"</div>");
$("tr",navtbl).append(tbd);
$(tbd,navtbl)
.attr({"title":o.deltitle || "",id: pDel.id || "del_"+elemids})
.click(function(){
if (!$(this).hasClass('ui-state-disabled')) {
var dr;
if($t.p.multiselect) {
dr = $t.p.selarrrow;
if(dr.length===0) {dr = null;}
} else {
dr = $t.p.selrow;
}
if(dr){
if($.isFunction( o.delfunc )){
o.delfunc.call($t, dr);
}else{
$($t).jqGrid("delGridRow",dr,pDel);
}
} else {
// !!! The actual dialog is displayed here -
$.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});$("#jqg_alrt").focus();
}
}
return false;
}).hover(
function () {
if (!$(this).hasClass('ui-state-disabled')) {
$(this).addClass("ui-state-hover");
}
},
function () {$(this).removeClass("ui-state-hover");}
);
tbd = null;
}
本质上,您可以将id
参数作为delete参数的一部分传递,如果不传递,它将默认为elemids
,并为其分配网格的DOM id(例如:您的选择器将是“#del_mygrid”
)
无论如何,然后您可以使用类似于jQuery('div.ui-jqdialog').center()的东西代码>在中单击事件处理程序,根据需要重新定位对话框
这有用吗
另外,实际的对话框文本位于grid.locale en.js
-
alerttext:“请选择行”
我同意这很可怕:)
好消息是这是一个单独的js文件,因此您可以根据需要对其进行修改。中的以下代码用于显示此对话框:
if (o.del) {
tbd = $("<td class='ui-pg-button ui-corner-all'></td>");
pDel = pDel || {};
$(tbd).append("<div class='ui-pg-div'><span class='ui-icon "+o.delicon+"'></span>"+o.deltext+"</div>");
$("tr",navtbl).append(tbd);
$(tbd,navtbl)
.attr({"title":o.deltitle || "",id: pDel.id || "del_"+elemids})
.click(function(){
if (!$(this).hasClass('ui-state-disabled')) {
var dr;
if($t.p.multiselect) {
dr = $t.p.selarrrow;
if(dr.length===0) {dr = null;}
} else {
dr = $t.p.selrow;
}
if(dr){
if($.isFunction( o.delfunc )){
o.delfunc.call($t, dr);
}else{
$($t).jqGrid("delGridRow",dr,pDel);
}
} else {
// !!! The actual dialog is displayed here -
$.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});$("#jqg_alrt").focus();
}
}
return false;
}).hover(
function () {
if (!$(this).hasClass('ui-state-disabled')) {
$(this).addClass("ui-state-hover");
}
},
function () {$(this).removeClass("ui-state-hover");}
);
tbd = null;
}
本质上,您可以将id
参数作为delete参数的一部分传递,如果不传递,它将默认为elemids
,并为其分配网格的DOM id(例如:您的选择器将是“#del_mygrid”
)
无论如何,然后您可以使用类似于jQuery('div.ui-jqdialog').center()的东西代码>在中单击事件处理程序,根据需要重新定位对话框
这有用吗
另外,实际的对话框文本位于grid.locale en.js
-
alerttext:“请选择行”
我同意这很可怕:)
好消息是这是一个单独的js文件,因此您可以根据需要对其进行修改。是的,这很有帮助。谢谢你!是的,这很有帮助。谢谢你!