Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SSL
- xPlatform
- Android
- es6
- Java
- mapreduce
- Sqoop
- GIT
- IntelliJ
- Python
- SQL
- SPC
- hadoop
- 공정능력
- JavaScript
- Spring
- Eclipse
- NPM
- tomcat
- mybatis
- react
- MSSQL
- Express
- plugin
- R
- 보조정렬
- window
- table
- vaadin
- Kotlin
Archives
- Today
- Total
DBILITY
vaadin fieldGroup 사용하기 본문
반응형
위지윅을 지원하는 IDE 툴에서 Text, Combo 등의 컴포넌트 또는 컨트롤에 데이터를 바인딩할 때처럼
데이터 소스를 연결(setItemDataSource)하고 각 컴포넌트에 할당하는 데이터 프로바이더 정도로 생각하면 되려나?
TextField userid = new TextField("ID");
FieldGroup fieldGroup = new FieldGroup();
fieldGroup.bind(userid,"userid");
/* 위처럼 개별 필드별로 처리하거나,
아래처럼 선언된 필드를 한꺼번에 바인딩할 수도 있다.*/
public class MyFieldGroup {
FieldGroup fieldGroup;
TextField userid;
public MyFieldGroup() {
fieldGroup = new FieldGroup();
fieldGroup.bindMemberFields(this);
}
}
다음은 javaBean(User.class)을 사용하여 TextFiled에 bind 하고 수정한 후 반영(Commit)하는 경우로
userid가 짱구에서 흰둥이로 변경된다.
filedGroup.discard() 호출시 취소된다.
package com.dbility.apps.erp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.vaadin.data.fieldgroup.BeanFieldGroup;
import com.vaadin.data.fieldgroup.FieldGroup.CommitException;
import com.vaadin.data.util.BeanItem;
import com.vaadin.ui.TextField;
public class MyFieldGroup {
private static final Logger logger = LoggerFactory.getLogger(MyFieldGroup.class);
BeanFieldGroup<User> fieldGroup;
TextField userid;
public MyFieldGroup() {
userid = new TextField("ID");
User item = new User("짱구");
fieldGroup = new BeanFieldGroup<>(User.class);
fieldGroup.bindMemberFields(this);
fieldGroup.setItemDataSource(new BeanItem<User>(item));
userid.setValue("흰둥이");
try {
fieldGroup.commit();
//fieldGroup.discard();
} catch (CommitException e) {
e.printStackTrace();
}
User itemAfter = fieldGroup.getItemDataSource().getBean();
logger.debug("{}", itemAfter.getUserid());
}
public class User {
private String userid;
public User(String userid) {
this.userid=userid;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
}
public static void main(String[] args) {
MyFieldGroup myFieldGroup = new MyFieldGroup();
}
}
실행결과
21:10:39.637 DEBUG com.dbility.apps.MyFieldGroup - 35 - 흰둥이
반응형
'front-end & ui > vaadin legacy' 카테고리의 다른 글
vaadin file upload (0) | 2018.06.28 |
---|---|
vaadin Sub-Window 사용하기 (0) | 2018.06.28 |
크롬 브라우저 캐시 불능 처리 (0) | 2018.06.27 |
vaadin Layout 수동 교체? (0) | 2018.06.18 |
vaadin Navigator 실습 (0) | 2018.06.18 |
Comments