2014-01-20 3 views
-1

목록 목록에서 GWT로 작성된 테이블이 있습니다. 내가 원하는 것은 특정 요소 그룹의 합을 얻는 것이다.gwt 테이블 요소에서 합계 가져 오기

이 문제는 목록을 생성하기 전에 계산하지 않는 한 계산 된 값과 합계를 계산하려는 값입니다.

DOM 조작을 통해이를 달성 할 수 있는지 궁금합니다. 그렇다면 어떻게?

DataA DataB DataC DataD 
--------------------------------- 
aaaaa bbbbb ccccc 12 
aaaa1 bbbb1 cccc1 15 
aaa11 bbb11 ccc11 17 

내가 "DataD"열의 합을 얻고 싶은,하지만 난 그것을 할 수있는 방법을 잘 모릅니다 :

난 당신에게 예를 보여줍니다.

, 당신의 시간을 사전에

종류와 관련,


정교한 주셔서 감사합니다 : 그것은 계산 DataD 열 값과 값이 다른 시스템에서 제공하고 세 번째를 통해 테이블에 배치 파티 프로그램; 따라서 나는 그 가치를 얻지 못하고 그것을 합계로 사용하여 내가 원하는 가치를 얻지 못한다.

+0

*이의 문제, 그것은 당신의 필요에 맞게 exactl를 알기 위해 API에 볼 수있는 값 I 리스트를 생성하기 전에 그것을 계산하지 않으면, 계산 된 값과 합을 구하고 싶지 않으므로 얻을 수 없습니다. * - 이것을 자세히 설명해 주시겠습니까? – sanbhat

답변

0

위젯에서 데이터가 추가/변경 될 때마다 총계를 조정할 수 있도록 테이블 위젯에 이벤트 처리기를 추가 할 수 있어야합니다. 표를 나타내는 데 사용하는 위젯에 대한 자세한 정보를 제공하십시오.

EDIT : HTMLLayoutContainer를 사용하고 있다는 것을 알게되었으므로 DataD는 코드에서 제어 할 수없는 위치에 있습니다. 당신이 할 수있는 일은 이벤트 핸들러를 추가하여 제거 등 이벤트 추가를 처리하는 것입니다. 예를 들어, 다음과 같이 뭔가를 할 수 :

//Your container 
    HtmlLayoutContainer c = new HtmlLayoutContainer(templates.getTemplate()); 

    c.addAddHandler(new AddEvent.AddHandler() { 
     @Override 
     public void onAdd(AddEvent event) { 
      //Do proper exception handling, check if it is the right widget for dataD, do the needed calculations etc 
      sum += Double.parseDouble(((HTML)event.getWidget()).getHTML());     
     } 
    }); 

    c.addRemoveHandler(new RemoveEvent.RemoveHandler() { 
     @Override 
     public void onRemove(RemoveEvent event) { 
      //handle all conditions like in onAdd in AddHandler above 
      sum -= Double.parseDouble(((HTML)event.getWidget()).getHTML()); 
     } 
    }); 

당신은 이벤트가 가장 (http://dev.sencha.com/deploy/gxt-3.0.0/javadoc/gxt/com/sencha/gxt/widget/core/client/container/HtmlLayoutContainer.html)

+0

GXT Sencha 3.0 위젯 인 HtmlLayoutContainer를 사용하고 있습니다. – Catersa

관련 문제