문제

우리는 GWT-Presenter를 사용하고 있지만, 실제로 그 질문에 특유하지는 않습니다 ...

사용자가있는 테이블이 있습니다.View에서 테이블을 빌드하면 (Presenter에서 제공하는 데이터에서) 행 끝에있는 두 개의 동작 버튼 ( "편집"및 "삭제")을 추가해야합니다.

이 버튼에 클릭 핸들러를 할당하는 가장 좋은 방법은 발표자가 클릭한지 알고 있습니까?이전에 우리는보기에서 발표자에게 개인 필드를 전달하고 이산화 된 클릭 처리기를 해당 버튼에 연결할 수 있습니다.그러나이 방법은 다소 엄격 하고이 시나리오에서는 잘 작동하지 않습니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

편집 / 삭제를위한 가입을 허용하는 것은 이벤트를 클릭하고 내부적으로 개별 행을 클릭하여 이벤트를 클릭 한 다음 뷰에 등록 된 것으로 이벤트 처리를 위임합니까?

나는 다음과 같은 Pesudo 코드와 같은 것을 의미합니다 :

보기 :

addRowEditClickHandler(ClickHandler handler) {
    this.rowEditClickHandler = handler; 
}
addRowDeleteClickHandler(ClickHandler handler) {
    this.rowDeleteClickHandler = handler; 
}

//... somewhere when setting up of the grid...

rowEditButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowEditClickHandler.onClick(args)

}

rowDeleteButton.addClickHandler = new ClickHandler() {
    onClick(args) {
        this.rowDeleteClickHandler.onClick(args)

}
.

발표자 :

View view = new View();
view.addRowEditClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});
view.addRowDeleteClickHandler( new ClickHandler() {
    onClick(args) {
        doSomething();
    }
});
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top