2016-07-31 1 views
-1

私はjqgridバージョン4.4.4を使用しています。ユーザーが外部のドロップダウンメニューで特定の値を選択したときに、行を無効にする既存のjqgridテーブルがあります。例えば
image
既存のjqgridで行選択を無効にする

enter image description here

、画像表示として、ユーザが値1を選択した場合、私は異なるIDを持つ全ての行(0及び2)は選択不可能となるテーブルに含まれることを希望。同じように0の値が選択されている場合、行1と2は選択されていません。

私はgridUnloadメソッドを使用せずにこれを行いたいと思います。

入力ボタンを無効にする方法を見つけましたが、ユーザーは行を押し続けて値を選択できます。

アイデア?

+1

問題をより正確に説明する必要があります。あなたは現在、「少数の属性を変更する」と書いています。あなたは「属性」の意味ですか?あなたはjqGridのオプションを意味しますか?いくつかのオプションは、変更不可能な別のものに動的に変更可能です。したがって、実装する必要があるものを正確に指定する必要があります。別の例:「ドロップダウンメニュー」について書いています。 jqGrid以外の*外部メニュー*を意味するのか、フィルタのツールバーや編集フィールド(インライン編集、セル編集、フォーム編集の場合)またはjqGridの検索ダイアログのフィールドからのドロップダウンを意味しますか? – Oleg

+0

使用しているJavaScriptコードや写真を参考にすると便利です。 – Oleg

+0

答えに感謝します。私は投稿を書き直す... – Cyr

答えて

0

jqGrid事前にありがとうあなたのの前に新しい行が選択されますと呼ばれるbeforeSelectRowコールバックを定義することができます。コールバックは、現在選択している行のrowidをパラメータとして取得します。コールバックは、最初に外部ドロップダウンで選択された項目の値を取得し、選択された値とrowidの行の選択に基づいてtrueまたはfalseを返します。この方法では、要件を実装することができます。

さらに、getGridParamメソッドをパラメータ"selarrrow"で使用すると、現在選択されているすべての行のROWIDのリストを取得することができます。ユーザーが外部ドロップダウンで選択を変更した後、jqGridの現在の選択を変更することができます。 setSelectionメソッドを使用すると、特定の行の選択を切り替えることができます。

onSelectAllコールバックを追加実装することができます。コールバックは、マルチ選択列の列見出しをクリックしてすべての行を選択または選択解除すると呼び出されます。いくつかの行の選択を切り替えて、従いたいルールを保持することができます。

グリッドの外観を改善するために、height: "auto"のjqGridオプションを使用することをお勧めします。また、レトロなバージョン4.4.4からfree jqGrid 4.13.4にアップグレードすることをお勧めします。 CDNから直接if(the wikiを参照)を使用するか、NuGet,npm,bowerまたはMaven Centralからダウンロードできます。バージョン4.4.4は死んでおり、これ以上サポートされていません。

関連する問題