Whiteship's Note

YUI :: DataTable :: DataSource 객체 만들기

JEDI/YUI : 2007.03.18 14:41


참조 : http://developer.yahoo.com/yui/datatable/

흠.. 이 부분이 가장 중요한 부분인데요. 아직 잘 모르겠습니다. 제가 원하는 건 현재 페이지가 List나 자바의 배열 객체를 가지고 있을 때 이것을 어떻게 DataTable로 표현 할 것인가 입니다.

답을 찾을 수 있을지 모르겠지만 일단 ㄱㄱ..

DataTable을 만들기 위해서 DataSource 객체를 만들차례입니다.

var YAHOO.example.puppies = [
  {name:"Ashley",breed:"German Shepherd",age:12},
  {name:"Dirty Harry",breed:"Norwich Terrier",age:5},
  {name:"Emma",breed:"Labrador Retriever",age:9},
  {name:"Oscar",breed:"Yorkshire Terrier",age:6},
  {name:"Riley",breed:"Golden Retriever",age:6},
  {name:"Shannon",breed:"Greyhound",age:12},
  {name:"Washington",breed:"English Bulldog",age:8},
  {name:"Zoe",breed:"Labrador Retriever",age:3}
];

먼저 예제로 보여주는 경우는 DataSource 객체를 만들 때 생성자에 JavaScript 배열이 담긴 파일을 넣어 줍니다.
var myDataSource = new YAHOO.util.DataSource(YAHOO.example.puppies);

그리고 responseType을 JavaScript 배열로 지정해 줍니다.
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;

마지막으로 key에 매핑될 객체의 속성들을 지정해 줍니다.
myDataSource.responseSchema = {
    fields: ["name","breed","age"]
};

responseType으로는 다음과 같은 것들이 있습니다.
TYPE_JSARRAY - final Number :: Type is a JavaScript Array. :: Default Value: 0
TYPE_JSFUNCTIOn - final Number :: Type is a JavaScript Function. :: Default Value: 1
TYPE_JSON - final Number :: Type is JSON. :: Default Value: 3
TYPE_TEXT - final Number :: Type is plain text. :: Default Value: 5
TYPE_UNKNOWN - final Number :: Type is unknown. :: Default Value: -1
TYPE_XHR - final Number :: Type is hosted on a server via an XHR connection. :: Default Value: 2
TYPE_XML - final Number :: Type is XML. :: Default Value: 4

흠...전부 외부 파일로 부터 데이타들을 읽어오는 것 같네요. 흠;;; 매번 이런 파일들을 생성해서 사용할 수도 없고 어떻게 사용하라는거지..ㅠ.ㅠ

request에서 "list" 라는 이름으로 List 객체를 가지고 있을 때 displayTag 같은 경우는   
 <display:table name="list" export="true">
        <display:column property="name" title="이름" href="detail.do" paramId="id" paramProperty="id"/>
        <display:column property="email" autolink="true"/>
        <display:column property="phone" title="연락처"/>
        <display:column property="blogAddress" title="Blog" autolink="true"/>
        <display:column property="messengerId" title="MSN"/>
    </display:table>

이런식으로 쓰면 되는데...흠.. 도무지 감이 잡히질 않는 군요. request에 있는 배열은 DataSource로 어떻게 넣을 수 있지??

<table> 태그로 data들을 표현했다면 DataSource를 만들 필요가 없습니다. DataTable에서 적절하게 매핑할 수 있습니다. 그 방법은 좀이따가 살펴보겠습니다.

jstl 등을 사용해서 <table> 태그를 만들어서 사용해야 되나.. 그렇게 되면 displayTag보다는 불편한거 아닌가.. 흠..;;; 아 머리야; 일단 STOP

'JEDI > YUI' 카테고리의 다른 글

YUI :: DataTable :: 커스텀 태그로 숨기기  (0) 2007.03.20
HTML 태그를 DataTable로  (0) 2007.03.19
YUI :: DataTable :: DataTable 객체 만들기  (0) 2007.03.18
YUI :: DataTable :: DataSource 객체 만들기  (0) 2007.03.18
YUI :: DataTable :: ColumnSet 객체 만들기  (0) 2007.03.18
YUI :: DataTable :: basic.html  (0) 2007.03.18
숙제  (0) 2007.03.17
Yahoo Wideget 개발 준비  (0) 2007.03.15
YUI(Yahoo! UI Library)  (0) 2007.01.22
top




: 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 :