2013-04-29 4 views
3

테이블 내부에있는 Vaadin TextField의 편집 상태를 취소하는 방법을 아는 사람이 있습니까? 필자의 구체적인 사용 사례는 여러 개의 TextField가있는 테이블을 가지고 있는데, 편집 된 것과는 다른 값으로 표시됩니다. 사용자가 TextField를 클릭하면 편집 가능한 내용이 필드에 표시됩니다. 사용자가 마음을 바꾸고 필드 편집을 중지하려면 (ESC 키를 누름) 필드에서 사용자가 내용에 변경 한 내용을 취소하고 해당보기 값을 표시하도록 되돌려 야합니다.Vaadin TextField에서 포커스 수정/제거

지금까지 초점을 다른 TextField로 옮길 수 있었지만 궁극적으로 달성하고자하는 것이 아닙니다. 부모 테이블로 포커스를 이동해도 문제가 없지만 table.focus()을 호출하여 프로그래밍 방식으로 프로그래밍하면 결과가 표시되지 않습니다. 당신의 도움에 대한

감사합니다,

라두

답변

0

모든 필드의 값을 되돌리려 - 텍스트 필드를 포함하여 -가 최선을 다하고되기 전에, AbstractField#discard()

+0

감사 찰스, 완전히 내 문제가 해결되지 않는 그러나이다 여전히 – radu

+0

동일한 문제가 있지만 TableFieldFactory에서 TextField를 생성했습니다. TableFieldFactory createField()가 필드를 반환하기 때문에 TextField 객체에 대한 액세스 권한이 없기 때문에 사용자가 TextField에 입력 한 내용을 취소하는 방법을 알지 못합니다. 모든 단서? – Roger

+0

@Roger AbstractField (즉 (AbstractField) 필드) .discard()에 간단하게 캐스팅 할 수 있습니다. 안전을 위해 instanceof로 둘러싸 일 수 있지만, 핵심 Vaadin 라이브러리의 Field 구현은 모두 AbstractField를 확장합니다. –

관련 문제