0

ユーザーが追加をクリックし、行を保存せずに再読み込みボタンを押すと、追加ボタンが復元されません。[保存とキャンセル] ボタンは引き続きアクティブです。インライン行編集を手動でキャンセルするにはどうすればよいですか? または、これらのボタンを見つけて非表示にする方法はありますか?

4

2 に答える 2

1

inlineNavによって追加されたボタンを有効にするには、クラスを削除する必要があります'ui-state-disabled'(call .removeClass('ui-state-disabled'))。ボタンを無効にするには、クラスを追加する必要があります'ui-state-disabled'( を呼び出します.addClass('ui-state-disabled'))。ボタンを識別する (jQuery に関して選択する) には、ボタンの ID がグリッドの ID と、ボタン名に基づいて作成されるサフィックスから作成されることを知っておく必要があります: "_ilsave""_ilcancel"、。たとえば、グリッドの ID が の場合、保存ボタンの ID は になります。"_iladd""_iledit""list""list_ilsave"

グリッドをリフレッシュする前または後にボタンの状態をリセットするには、afterRefreshまたはbeforeRefreshのコールバックnavGrid(ドキュメントを参照) を使用するか、コールバック内でこれを行いloadCompleteます。例えば

loadComplete: function () {
    var idSelector = "#" + $.jgrid.jqID(this.id);
    $(idSelector +"_ilsave").addClass('ui-state-disabled');
    $(idSelector +"_ilcancel").addClass('ui-state-disabled');
    $(idSelector +"_iladd").removeClass('ui-state-disabled');
    $(idSelector +"_iledit").removeClass('ui-state-disabled');
}

showAddEditButtonsまたは、上記のすべての呼び出しの代わりに使用できます。

loadComplete: function () {
    $(this).jqGrid("showAddEditButtons");
}

上記のコードは主に、ボタンの他​​の種類の「有効化」または「無効化」を行う必要がある場合のために含めました。

于 2012-09-11T18:36:20.333 に答える
0

restoreRowこの関数を使用する必要があります。ここを参照してください:http: //www.trirand.com/jqgridwiki/doku.php?id = wiki :inline_editing&s%5B%5D = editrow

次のような関数を使用して、選択した行を常に復元するボタンを作成できます。

$('#the_button').click(function(){
    var rowid = jQuery('#grid_id').jqGrid('getGridParam', 'selrow');
    jQuery("#grid_id").jqGrid('restoreRow',rowid, function(){});
});
于 2012-09-11T17:36:48.357 に答える