2012-01-20 4 views
1

私は対話型のtables called jqGridを生成するjQueryプラグインを使用しています。編集ボタンにカスタム関数がバインドされたnavbar/pagerを持つjqGrid

私はこの "editfunc"(ページの2/3または3/4ths)を使用したいと思いますが、どこにでも実装する方法の明確な例は見つかりません。私はいくつかの異なったことを試みました、そして、それらのすべてが私を完全な失敗で残します。

を明確にするために、テーブルが生成され、このようになります。下のバーが呼び出されること

enter image description here

「navpbar」または「ポケットベル」、あなたは別のDIV、APIとして実装し、ドキュメントは、 "追加"、 "編集"、 "削除"などのボタンにカスタム関数をどのくらい入れているかについては、(私自身とにかく)かなり不明です。デフォルトの機能を動作させることはできますが、 websearches、このサイト、または実際の実装がどのように見えるかに関するAPIドキュメントを介して何かを見つける。

答えて

3

jqGridにはオープンソースがあります。すべての質問をコード内で直接クリアすることができます。例えば、the linesを見てください。あなたはnavGridナビゲータの「編集」ボタンをクリックの上に何が表示されます:

var sr = $t.p.selrow; 
if (sr) { 
    if($.isFunction(o.editfunc)) { 
     o.editfunc(sr); 
    } else { 
     $($t).jqGrid("editGridRow",sr,pEdit); 
    } 
} else { 
    $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$t.p.id,jqm:true}); 
    $("#jqg_alrt").focus(); 
} 

ですから、editfuncコールバック関数を定義する場合、関数は、パラメータとして代わりの編集ダイアログを作成、選択した行のIDで呼び出されますby editGridRow

メソッドeditGridRowには多くのカスタマイズ機能があります。 navGridprmEditパラメータでは、editGridRowが使用するオプションを指定できます。

編集フォームを表示せず、代わりに他のGUIを表示したい場合は、editfuncコールバック関数を使用できます。例:

$("#list").jqGrid('navGrid', '#pager', { 
    editfunc: function (rowid) { 
     alert('The "Edit" button was clicked with rowid=' + rowid); 
    } 
}); 

the demoを参照してください。行を選択して[編集]ボタンをクリックすると、標準編集フォームの代わりにalertが表示されます。

+0

私は自分がしたことを正確に誓うことができました。私は月曜日まで私の机に戻りません。そして、これがどのように機能するかを教えてあげます。 – Incognito

+0

@Incognito:OKですが、どのように見えますか、私のデモが動作します。だからあなたは何か別の方法でそれを使ったと思う。宜しくお願いします。 – Oleg

関連する問題