2012-04-02 9 views
1

ボタンをクリックすると、タブパネルにグリッドが表示されます。そのグリッドが表示される前に、ボタンをクリックして結果を表示するようパネルにユーザーに通知する必要があります。ユーザーがボタンをクリックすると、そのHTMLテキストを別のHTMLテキストに置き換えたいが、そのような問題に直面している。私が持っているボタンのイベントハンドラで ExtJS内のタブパネル内のhtmlテキストを更新する

xtype: 'tabpanel', 
    id: 'results-tabpanel', 
    activeTab: 0, 
    autoScroll: true, 
    border: false, 
    layout: { type: 'fit', align: 'stretch' }, 
    items: [{ 
      title: 'Results', 
      id: 'result-tab', 
      html: "Run a query to see results" 
      //autoEl: {html: "Run a query to see results",border:false } 
      }, 
      { 
      title: 'Transactions', 
      html: "Run a query to see transactions" 
      }] 

var tab = Ext.getCmp("result-tab"); 
    tab.initialConfig.html = "Processing..."; 
    //tab.update("Processing..."); 

私はhtmlのを見つけたのthatsは放火犯を介して横たわっていることがあるためinitialConfigです。 autoElオプションを使用してメッセージを更新しようとしましたが、以前のhtmlに追加されています。http://i.imgur.com/UM3UD.png

答えて

3

"tab.initialConfig.html"の代わりに、私はちょうどtab.body.update( "処理中...")を使用し、問題を修正しました。 autoElは必須ではありません。

4

編集:コメントを読んだだけで、それをうまくやったことがわかりました!

私はtab.update( "Processing ...")に驚いています。動作しません。私はちょうど同様の設定を試して、htmlを変更する更新メソッドを使用し、古いテキストを残すことなく正常に動作しました。それが役に立つ場合に備えて、私のセットアップがあります。

xtype: 'tabpanel', 
region: 'center', 
plain: true, 
border: false, 
width: 600, 
margin: '4 10 2 2', 
items: [ 
{ 
    xtype: 'panel', 
    title: 'Testing', 
    id: 'taskpanel', 
    html: 'testing' 
} 
] 

コンソールでは、これを実行してボタンの設定を保存しました。

Ext.getCmp('taskpanel').update('New Text!'); 

正常に動作しました。

関連する問題