2011-08-01 5 views
1

ここに私が達成しようとしているものがあります。私は、ユーザーがグリッドから1つまたは複数のエントリを選択し、すべてのエントリに適用するグリッドの上にあるフォームから値を選択し、送信することができるエントリを持つグリッドをユーザーが「バッチ更新」できる。ExtJS - GridのDOMノードの配列を取得するには、highlight()?

私が達成したいのは、すべての変更行で行われるhighlight()です。私が抱えている問題は、一度にすべての変更値でhighlight()を実行する方法が分からないため、個別に行っています。私はちょうどループを間違って実行している可能性があります。値を更新するために私がやっていることは次のとおりです。ユーザーがフォームのハイライトは4回実行されますので、私はループの外でそのコードを配置する必要があると思いフォームを更新するために、「属性」4を選択した場合、今何が起こっている

// for every property we have in our batchUpdateValues 
for (var propertyName in batchUpdateValues) { 

    // change the selected banners attributes to match 
    for (var i = 0 ; i < bannersToUpdate.length ; i++) 
    { 
     // if they've selected "Name", we only want to append, not replace" 
     var oldName = bannersToUpdate[i].get('bannerName'); 
     if (propertyName == 'bannerName') { 
      bannersToUpdate[i].set(propertyName, oldName + ' ' + batchUpdateValues['bannerName']); 
     } else { 
      bannersToUpdate[i].set(propertyName, batchUpdateValues[propertyName]); 
     } 

     var changedRowId = this.getStore().indexOf(updatedBanners[i]); 
     var changedRow = this.getView().getRow(changedRowId); 
     Ext.get(changedRow).highlight();     

    }        
} 

です。どのように私は各行のすべてのDOM属性を取得し、それらのハイライトを実行する()?

答えて

0

私の最初の提案は、SelectionModelを理解することです。これはドキュメントに記載されています。私はあなたにリンクしたいと思いますが、あなたが使っているバージョンがわかりません。実際には、あなたはExt JSのどのバージョンを使用していますか?この質問に対する回答は、3.x vs 4.xでは異なる場合があります。

詳細についてはお答えできますが、にご連絡ください。具体例はです。いくつかのダミーデータを持つ小さなテーブルを作成して、モデルの行/列について話しているときに説明できますか?

関連する問題