2012-04-17 14 views
0

フォーラムメンバーコンボボックス名を選択した値をグリッドパネルの列に表示しています。複数選択値をコンボボックスからグリッドパネルextjsに表示する方法4

私は、リソースコンボボックスを含む1つの列を持つgridPanelを持っており、ユーザーはリソースから複数の値を選択できます。

は、以下の列コンボボックス gridpanel列

{ 
      xtype: 'gridcolumn', 
      dataIndex: 'resourceid', 
      text: 'Resource', 
      field: resourcecombo 
     }, 

resourcecomboここ

var resourcecombo = new Ext.form.ComboBox({ 
    id: 'resourceid', 
    name: 'resourceid', 
    emptyText: 'Select resource', 
    displayField: 'firstname', 
    store: Ext.create('rms.store.employee'), 
    valueField: 'id', 
    multiSelect: true, 
    queryMode: 'local', 
    typeAhead: true 

}); 

私はリソースのリストを取得し、私はまた、複数選択を行うことができますと私のgridpanel列です。このマルチ選択に基づいて、IDはサーバーに送信され、応答でグリッド列に値を設定したいとします。

しかし、何か間違っています。サーバーから正しい応答が得られました。ですが、この列には1つの名前しか表示されません。

私はちょうどコード

以下でgridcolumnを変更

ソリューション hirenなど、コンマ記号 のようなリシ、ヨギで区切られたすべてのリソース選択、の名前を表示したいです

xtype: 'gridcolumn', dataIndex: 'resources', header: 'Resources name', field: resourcecombo, renderer: function(resources){ var result = []; resources = resources || []; for (var idx = 0, len = resources.length; idx < len; idx++){ var value = resources[idx].name; if(value){ result.push(value); } } return result.join(', '); } 

上記の解決策は私にとってはうまくいくものです。

ご協力いただきありがとうございます。

答えて

0

コンボボックスに表示される名前は「ファーストネーム」です。この文字列はその下の値(つまり「id」)に対応します。あなたはそれがあなたのように動作しないと思われる場合、単にこれらを考える:

マルチアイテムが選択されている場合は、「選択した項目は」コンボボックスに表示されますどのように
  • と、このコンボボックスには、「フォーカス」状態ではないでしょうか?
  • コンボボックスをもう一度クリックして他のアイテムを選択すると、「選択したアイテム」はどのようにREに表示されますか?いいえ、選択したアイテムは表示されません。 (マルチアイテムが選択されている場合は、それらのすべては、あなたが説明したのと同じ「リシ、ヨギ、hirenのように、コンマ記号で区切られた選択されたすべてのリソースの名前を」と表示されます?)

だから私がお勧めしますカンマ区切りの名前を表示する別のフィールドを使用

+0

あなたの返信ありがとう、私の問題は解決されました。上記は私の解決です –

関連する問題