JqGrid - 如何在 jqGridInitGrid 事件上为每个应用程序网格执行自定义功能
JqGrid - How to execute custom functionality for each grid of application on jqGridInitGrid event
在我们的应用程序中,我们有超过 100 个网格,我们需要在网格的标题栏上显示帮助按钮,为此我使用
创建了一个插件
$.jgrid.extend({
EnableHelpButton: function(value) {
var $t = this;
...............;
}
});
目前,我转到每个 .html 网格页面,需要调用 EnableHelpButton,如下面的代码所示。
----------------Index1.html-------------------- --
$("#TestGrid1").bind("jqGridInitGrid", function () {
$(this).EnableHelpButton(true);
});
----------------Index2.html-------------------- --
$("#TestGrid2").bind("jqGridInitGrid", function () {
$(this).EnableHelpButton(true);
});
我如何创建一种通用方法来在每个网格的 jqGridInitGrid 事件上调用此 EnableHelpButton。它应该在一个地方写一次,它应该适用于每个网格。
您必须在每个页面上对您的自定义函数进行一些特定 调用。一种方法是定义你的插件
$.jgrid.extend({
EnableHelpButton: function(value) {
var $t = this;
...............;
},
myInit: function () {
return this.each(function () {
$(this).bind("jqGridInitGrid", function ({
$(this).EnableHelpButton(true);
});
});
}
});
即使您需要在每个 页面上包含.jqGrid("myInit")
调用。您可以在 myInit
之前调用 将 <table>
转换为网格。例如代替
$("#grid").jqGrid({
... // parameter used to create jqGrid
});
你现在就要用到
$("#grid").jqGrid("myInit").jqGrid({
... // parameter used to create jqGrid
});
只有当您从不在您的任何网格中使用onInitGrid
回调时,您才可以使用回调而不是jqGridInitGrid
.如果您只需要在每个页面中包含的一些 JavaScript 代码中定义回调:
$.extend(true, $.jgrid.defaults, {
onInitGrid: function () {
$(this).EnableHelpButton(true);
}
});
在这种情况下,您将为每个网格设置 onInitGrid
的默认实现。
因此 onInitGrid
回调内部的公共初始化定义产生了最短的实现,但有限制,你不应该在你的网格中使用回调。或者,您可以定义方法 myInit
来添加所有绑定,您可以在每个网格上添加 .jqGrid("myInit")
。最后一种方法适用于每个 jqGrid。
在我们的应用程序中,我们有超过 100 个网格,我们需要在网格的标题栏上显示帮助按钮,为此我使用
创建了一个插件$.jgrid.extend({
EnableHelpButton: function(value) {
var $t = this;
...............;
}
});
目前,我转到每个 .html 网格页面,需要调用 EnableHelpButton,如下面的代码所示。
----------------Index1.html-------------------- --
$("#TestGrid1").bind("jqGridInitGrid", function () {
$(this).EnableHelpButton(true);
});
----------------Index2.html-------------------- --
$("#TestGrid2").bind("jqGridInitGrid", function () {
$(this).EnableHelpButton(true);
});
我如何创建一种通用方法来在每个网格的 jqGridInitGrid 事件上调用此 EnableHelpButton。它应该在一个地方写一次,它应该适用于每个网格。
您必须在每个页面上对您的自定义函数进行一些特定 调用。一种方法是定义你的插件
$.jgrid.extend({
EnableHelpButton: function(value) {
var $t = this;
...............;
},
myInit: function () {
return this.each(function () {
$(this).bind("jqGridInitGrid", function ({
$(this).EnableHelpButton(true);
});
});
}
});
即使您需要在每个 页面上包含.jqGrid("myInit")
调用。您可以在 myInit
之前调用 将 <table>
转换为网格。例如代替
$("#grid").jqGrid({
... // parameter used to create jqGrid
});
你现在就要用到
$("#grid").jqGrid("myInit").jqGrid({
... // parameter used to create jqGrid
});
只有当您从不在您的任何网格中使用onInitGrid
回调时,您才可以使用回调而不是jqGridInitGrid
.如果您只需要在每个页面中包含的一些 JavaScript 代码中定义回调:
$.extend(true, $.jgrid.defaults, {
onInitGrid: function () {
$(this).EnableHelpButton(true);
}
});
在这种情况下,您将为每个网格设置 onInitGrid
的默认实现。
因此 onInitGrid
回调内部的公共初始化定义产生了最短的实现,但有限制,你不应该在你的网格中使用回调。或者,您可以定义方法 myInit
来添加所有绑定,您可以在每个网格上添加 .jqGrid("myInit")
。最后一种方法适用于每个 jqGrid。