jqGridは、標準のメソッドだけでなく、$("#grid").jqGrid("methodName", ...)
または$("#grid").methodName(...)
としても使用できますが、他のメソッドも使用できます。 「標準」メソッドは$.fn.jqGrid.methodName
(たとえば、$.fn.jqGrid.editGridRow
のような関数)に登録され、$.jgrid.no_legacy_api = true;
が$.jgrid.no_legacy_api = true;
より前に指定されていない場合は$.fn.methodName
の下にも登録されます。
つまり、グローバルオブジェクト$.fn.jqGrid
または$.fn
のみが存在し、「標準」jqGridメソッドが含まれています。
または$.fn
ではなく、$.jgrid
で他の方法のリストが登録されます。 info_dialog
はそのようなメソッドの例です。したがって、そのような方法を使用するには、$.jgrid.info_dialog
,$.jgrid.jqID
、$.jgrid.htmlEncode
、$.jgrid.randId
などを使用する必要があります。ほとんどの方法では($.jgrid.randId()
$.jgrid.jqID("some.text")
など)を初期化する必要はありませんが、グリッドのDOMにはthis
が初期化されている必要があります(空の<table>
がグリッドの生成に使用されます)。
たとえば、あなたは
$grid.jqGrid("navButtonAdd", "#pager", {
caption: "Test",
onClickButton: function() {
$.jgrid.info_dialog.call(this,
"Warning with two buttons",
"Click the `test` button",
"Close",
{
buttons: [
{
text: "\"text\" button",
id: "buttid",
onClick: function() {
alert("click...");
}
}
]
}
);
}
});
がhttps://jsfiddle.net/OlegKi/xLrbdspo/を参照してください使用することができます。私はデモでfree jqGridフォークを使っていますが、これはjqGridのレトロなバージョン4.6と同じものを使っています。
最後の発言。 TypeScriptの構文を知っていれば、info_dialog
のような多くの質問に対して、free-jqgrid.d.tsの回答が見つかります。 $.jgrid
の方法および特性は、here(info_dialogを含む)と記載されている。 hereさらに、$.jgrid
のようにjqGridの一部である$.fmatter
、$.jqm
、$.jqDnR
、$.unformat
があります。
商用[Guriddo jqGrid JS](http://www.jqGrid.com)のjqGrid([free jqGrid](https://github.com/free-jqgrid/jqGrid) /guriddo.net/?page_id=103334)またはバージョン<= 4.7の古いjqGrid)。さらに、**あなたのコードで 'info_dialog'をどのように呼び出すかを見ることが重要です**。使用しているjqGridのバージョンによって、 '$ .jgrid.info_dialog.call($("#grid ")[0]、...)'のように 'this'を正しく初期化することができます。 – Oleg