2010. 6. 30. 10:43
갑자기 궁금한게.. 내가 왜... 이짓을 하는걸까?
정말 단순하게 테이블을 만들고 사용할 수 있다.(당연히 단순한 예제라고 하니까.. ㅎㅎ)
보고 느낀 것은 model 쪽은 Swing, SWT 와 유사한듯 하다.
1. 우선 page class 에 Table 인스턴스 생성하고, 생성하자 헤더 설정 및 onRender() 메소드에 데이터를 작성해 주면 된다.
Table 클래스야 그냥 사용하면 될 거 같구.. Page 클래스에서 onRender() 를 override 해서 사용하는 거를 중심으로 봐야 할듯 하다. 렌더링 하기 전에 onRender() 에서 테이블로 데이터를 set 해준다.
요넘.. 필요한거 알아서 참조도 해주고.. 무쟈게 고마운 넘임 ㅋㅋ
정말 단순하게 테이블을 만들고 사용할 수 있다.(당연히 단순한 예제라고 하니까.. ㅎㅎ)
보고 느낀 것은 model 쪽은 Swing, SWT 와 유사한듯 하다.
1. 우선 page class 에 Table 인스턴스 생성하고, 생성하자 헤더 설정 및 onRender() 메소드에 데이터를 작성해 주면 된다.
Table 클래스야 그냥 사용하면 될 거 같구.. Page 클래스에서 onRender() 를 override 해서 사용하는 거를 중심으로 봐야 할듯 하다. 렌더링 하기 전에 onRender() 에서 테이블로 데이터를 set 해준다.
Page Class
@Bindable protected Table table = new Table();
// 생성자
public HomePage() {
table.setClass(Table.CLASS_ITS);
table.addColumn(new Column("no"));
table.addColumn(new Column("name"));
table.addColumn(new Column("age"));
table.addColumn(new Column("job"));
}
@Override
public void onRender() {
List list = new ArrayList();
for(int i = 0;i<10;i++) {
DemoTableModel model = new DemoTableModel();
model.setNo(""+(i+1));
model.setName("name: " + i);
model.setAge("33");
model.setJob("java programmer " + i);
list.add(model);
}
table.setRowList(list);
}
// 생성자
public HomePage() {
table.setClass(Table.CLASS_ITS);
table.addColumn(new Column("no"));
table.addColumn(new Column("name"));
table.addColumn(new Column("age"));
table.addColumn(new Column("job"));
}
@Override
public void onRender() {
List list = new ArrayList();
for(int i = 0;i<10;i++) {
DemoTableModel model = new DemoTableModel();
model.setNo(""+(i+1));
model.setName("name: " + i);
model.setAge("33");
model.setJob("java programmer " + i);
list.add(model);
}
table.setRowList(list);
}
DemoTableModel class
- User Guide 를 보면 커스텀서비스 어쩌구를 사용하는데.. 그넘 실제로 없다. 그래서 단순하게 하나 만들었다.
- User Guide 를 보면 커스텀서비스 어쩌구를 사용하는데.. 그넘 실제로 없다. 그래서 단순하게 하나 만들었다.
public class DemoTableModel {
private String no;
private String name;
private String age;
private String job;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
private String no;
private String name;
private String age;
private String job;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
Template Page
<html>
<head>
$headElements
</head>
<body>
$table
$jsElements
</body>
</html>
<head>
$headElements
</head>
<body>
$table
$jsElements
</body>
</html>
$headElements
- 요넘은 사용하면 table이 사용할 수 있는 css, style을 포함시킨다.
(아래는 실제로 가져온 웹 소스)
$jsElements
- 요넘은 JavaScript, js 를 포함시킨다.
- 요넘은 사용하면 table이 사용할 수 있는 css, style을 포함시킨다.
(아래는 실제로 가져온 웹 소스)
<link href="/click_demo/click/table.css" rel="stylesheet" type="text/css"/>
<style id="c_1886087593" type="text/css">
th.sortable a {background: url(/click_demo/click/column-sortable-light.gif)
center right no-repeat;}
th.ascending a {background: url(/click_demo/click/column-ascending-light.gif)
center right no-repeat;}
th.descending a {background: url(/click_demo/click/column-descending-light.gif)
center right no-repeat;}
</style>
<style id="c_1886087593" type="text/css">
th.sortable a {background: url(/click_demo/click/column-sortable-light.gif)
center right no-repeat;}
th.ascending a {background: url(/click_demo/click/column-ascending-light.gif)
center right no-repeat;}
th.descending a {background: url(/click_demo/click/column-descending-light.gif)
center right no-repeat;}
</style>
$jsElements
- 요넘은 JavaScript, js 를 포함시킨다.
<script src="/click_demo/click/control.js" type="text/javascript"></script>
<script src="/click_demo/click/extras-control.js" type="text/javascript"></script>
<script id="c_862758709" type="text/javascript">
addLoadEvent(function(){
initMenu();
});
</script>
<script src="/click_demo/click/extras-control.js" type="text/javascript"></script>
<script id="c_862758709" type="text/javascript">
addLoadEvent(function(){
initMenu();
});
</script>
요넘.. 필요한거 알아서 참조도 해주고.. 무쟈게 고마운 넘임 ㅋㅋ
'framework > apache click' 카테고리의 다른 글
[Apache Click] - 환경설정을 해보자. (0) | 2010.06.30 |
---|---|
[Apache Click] - Control Listener 사용하자 (0) | 2010.06.30 |
[Apache Click] - 한글 설정하자 (0) | 2010.06.30 |