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 | 31 |
Tags
- MSSQL
- vaadin
- R
- IntelliJ
- tomcat
- NPM
- Express
- xPlatform
- Spring
- Sqoop
- window
- mapreduce
- Java
- es6
- Android
- hadoop
- JavaScript
- GIT
- SPC
- react
- plugin
- 보조정렬
- SSL
- table
- 공정능력
- Python
- Eclipse
- Kotlin
- mybatis
- SQL
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