jqGridの動的な選択フィールド
-
26-09-2019 - |
質問
動的colModelにステータスフィールドの値を変更する方法はありますか?
:我々は次のようにフィールドを持つCOLモデルを考えてみましょう... field ... name: "state",type: "select",
editoptions: {value: "0:state0;1:state1;2:state2;3:state3;4:state4"}
だから私は、この値を使用して私の状態の選択フィールドを取得します。しかし、私はdynamicaly selectfieldsが可能であるべきかを決定する必要があります。 現在の行の状態がSTATE0である場合、のみSTATE0とSTATE1が表示されるべきです。 状態がSTATE1の場合、ディスプレイはSTATE0、STATE1とSTATE2する必要があります そのためだけstae3とSTATE4を表示すべき状態4までに
フォーマッタでこれを解決することができ、アムI、またはそのようなことを行うには、他の方法があります。
それはより困難にするためには、表示されている状態は、一般的に私のアプリケーションでは、ログインしているユーザーのdependendていると言うことができます。 ようにして、ユーザはSTATE0、STATE2とSTATE4を見ることができます。 STATE3とSTATE4間transistionが現在のユーザーに許可されていない原因これは、さらに複雑にすることができます。
それにも関わらず、その人自身はどちらかdynamicalyです述べています。動的に一般的な状態クラスを表して自分のアプリケーション内のオブジェクトのためのjavascriptを生成し、フォーマッタの私の必要な出力を生成するには、このオブジェクトを使用すると便利でしょうか? 私は、このオブジェクト内のロジックをカプセル化することができますので、私の出力が生成され、additionaly私だけの状態を取得する方法ユーザーが見ることができます。
私は一石二鳥する取得する必要があります。
私はその私が私に言うと、私は詳細でそれを説明されていない場合、何をしたいのか明確ます。を願って再読み込みした後、オレグに
具体的な問題の解決策A、THXます:
editoptions : {
value : function(){
//a function can be called here:
currentRow=$("#order_items").getGridParam('selrow');
currentState=$("#order_items").getCell(currentRow,"state");
nastyGeneratedThings=function(){
... do some nasty things with currentState
... and generate what you want
}
return nastyGeneratedThings
}
関数は一度だけ呼び出された原因私は、いくつかのトラブルに走りました。私はそうNavgridでrecreateFormオプションを設定する必要があります。
navGrid("#pager", {
edit : true,
add : true,
del : true
}, {
height : 500,
width : 500,
// recreate the form every time when edit button is clicked.
// Default is false.
recreateForm : true
}
});
私の機能は、私が編集をクリックするたびに発射した後。 これは何とか誰かに役立ちます願っています。
解決
value
からeditoptions
プロパティは、文字列だけでなく、機能だけでなくすることができます。または{"0":"state0", "1":"state1", "2":"state2", "3":"state3", "4":"state4"}
ようなオブジェクト ":;:STATE1; 2:STATE2;:; 3 STATE3 4 STATE4 1 STATE0 0" 機能のような文字列のいずれかを返すことができます。道による最後の形式は、いくつかの利点があります:あなたは例の使用のために「:」、「;」値の内部ます。
関数がパラメータはありませんが、あなたはgetGridParam('selrow')
法等コルとし、getCell(rowid,iCol)
で現在選択された行を取得したり、「状態」欄の現在の値をgetCell(rowid,"state")
ことができます。
HTTP上value
プロパティの説明では、より参照してください。 ://www.trirand.com/jqgridwiki/doku.php ID =ウィキ:?common_rules#editoptions を)。おそらくこれはあなたの問題を解決することができますか?