2009-08-25 3 views
0

데이터 격자 및 단추가 있습니다. 격자의 데이터 또는 단추의 컨텍스트에서 클릭 한 행을 어떻게 참조 할 수 있습니까?gwt의 격자 및 버튼

의미 : 버튼 clickHandler는 clickEvent 객체 만받습니다. 그래서 어떻게 그것에서 테이블 데이터를 얻을 수 있습니까?

감사 나

답변

0

당신은 당신의 클릭 핸들러에 액세스 할 수 있습니다 모델의 일종을 저장해야합니다. 모델에서는 행의 데이터와 버튼을 연관시킬 수 있어야합니다. GWT에서 이렇게하는 방법은 없습니다.

1

GWT에는이 작업을 수행하는 방법이 내장되어 있지 않으며이 작업을 수행하는 데 무리가 없습니다. 당신은 그리드를 언급하므로 많은 가정을하고있는 동안 대략적으로 어떤 형태의 행렬에 가까운 데이터를 가지고 있다고 생각합니다. 대략적인 기법은 다음과 같습니다.

final Map<Button,Object> buttonToCellMap = new HashMap<Button,Object>(); 
ClickHandler myClickHandler = new ClickHandler() { 
    public void onClick(ClickEvent event){ 
    Object thingInCell = buttonToCellMap.get((Button)event.getSource()); 
    //do something with the thing in your grid here 
    } 
} 


for(List yourRow : matrix){ 
    for(Object yourObject : yourRow){ 
    //logic to make your grid cell goes here 

    Button aButton = new Button(); 
    buttonToCellMap.put(aButton,yourObject); 
    aButton.addClickHandler(myClickHandler);   
    } 
} 

해당 버튼을 클릭하면 격자의 x, y 위치에서 관심있는 객체에 액세스 할 수 있습니다.

+0

거의 동일한 종류의 문제로 과거에 내가 한 일입니다. 나는 아마 원래의 응답에 그것을 넣었어야했다. – Carnell