2011-08-01 2 views
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에서 다를 수 있습니다.

자세한 내용은 기꺼이 답변 드리겠습니다. 예를 들어으로 명확히해야합니다. 더미 데이터가있는 작은 테이블을 만든 다음 모델의 행/열에 관해 이야기 할 때 설명 할 수 있습니까?

관련 문제