2016-08-14 3 views
1

Ext JSグリッドの列にあるコントロールにアクセスするには一般的な方法がありますか?たとえば、5列の列にあるコンボボックスの値を選択するか、チェックボックスなどを選択します。チェックボックス、コンボボックス、テキストボックスなどのEXT JSグリッドセルにあるコントロールにアクセスする方法

私はかなり長い間この問題に苦労しています。

ありがとうございます!

例:ラジオボタンとチェックボックス Grid with Check Box

グリッドに

グリッド Grid with Radio Button

グリッドコンボボックスと

Grid with Combo Box

+0

を例を理解しやすくしてください、それはあなたに従うことは難しいです。 – Alexander

+0

@アレクサンダー、少し詳しく説明しましょう。 3番目の列にコンボボックスがあるグリッドがあるとします。今度は、5行目のコンボボックスで値を選択してから、コンボボックスへのアクセスを取得する必要があります。同様に、チェックボックス、リンクまたはテキストボックスを持つことができます。私はそれが問題を明確にすることを願っています – DevX

+0

jsfiddleまたは他のどこかでこのグリッドの少しの例をすればいいです – valignatev

答えて

1

あなたはしません。

グリッド内の値をプログラムで変更する場合は、グリッドのストアで値を変更します。エディタはユーザーのための小さなヘルパーです。

それでは、あなたがやっていることは、グリッドにバインドされている店舗見つけることです:

var store = grid.getStore() 

をそして、あなたは最初のレコードを取得する:

var record = store.getAt(0); // zero-based index! 

次にあなたが第5列を取得:

var column = grid.columns.getAt(4); // zero-based index! 

また、dataIndex(列に表示されるフィールド):

var dataIndex = column.dataIndex 

そして、あなたはそのdataIndexでレコードの値を設定します。

record.set(dataIndex, "myNewValue") 

あなたは常に、例えば使用する必要がある場合コンボボックスの3番目の値は、関係なく、コンボボックス内で何、あなたはこのような値を取得する必要はないだろう:

var combobox = column.getEditor(), 
    comboStore = combobox.getStore(), 
    comboRecord = comboStore.getAt(2), // zero-based index 
    valueField = combobox.valueField, 
    value = comboRecord.get(valueField); 
+0

あなたはそれを男に釘付けにしました...ありがとうたくさん – DevX

+0

多くの方々に感謝しています。私はあなたとLinkedin(arya、sachin89 @ gmail.com)に接続できますか? – DevX

関連する問題