1

Assign dynamic tpl を grid のコンボに割り当てるという質問がありましたが、解決しましたが、正しい tpl を確認するには、最初にコンボからフォーカスを外してから、再度フォーカスをコンボに設定する必要があります。このプロセスに従うと、正しいリストのみが表示され、それ以外の場合は以前の tpl が表示されます。ombo_focus イベントの私のコードは

..//
    var tmp = Ext.create('Ext.XTemplate', tplDataid);
    combo.setListTpl(tmp);
    combo.expand();
//..

コードを

 ..//
    alert('Beftore tmp:' + tplDataid);
    var tmp = Ext.create('Ext.XTemplate', tplDataid);
    alert('After tmp:' + tplDataid);
    combo.setListTpl(tmp);
    combo.expand();
//..

最初のアラート ボックスには、tpl が次のように表示されます。

Beftore tmp:<br><tpl><table width=400><tr style="text-align: left;">
<th width=100> COL_PK_ID </th><th width=100> Data_ID </th><th width=100> 
Col1 </th><th width=100> col2 </th></tr></table></tpl><tpl for=".">
<div class="x-boundlist-item"><table width=400><tr><td width=100> {COL_PK_ID} 
</td><td width=100> {Data_ID} </td><td width=100> {Col1} </td><td width=100> 
{col2} </td></tr></table></div></tpl>

2番目のアラートボックスには、tplが次のように表示されます

After tmp:<br><tpl><table width=200><tr style="text-align: left;"><th width=100>
COL_PK_ID </th><th width=100> Data_ID </th></tr></table></tpl><tpl for=".">
<div class="x-boundlist-item"><table width=200><tr><td width=100> {COL_PK_ID} 
</td><td width=100> {Data_ID} </td></tr></table></div></tpl>

アラートの [OK] ボタンをクリックするとフォーカスがコンボから [OK] ボタンに変わり、コンボを展開すると正しい tpl が表示されます。

実際、私は何を尋ねるべきか混乱しているので、プロセス全体を書きました。セッションを使用する場合、tpl に変数を使用する代わりに、同じことが起こります。ストアの列を読み込もうとすると、同じことが起こります。それはEXT JSの欠点ですか、それとも何か他のものですか?誰か助けてください...

4

0 に答える 0