웹포넌트 그리드에는 로우모델이라는 로우의 정보를 저장하고 있는 모델이 있습니다. 로우모델에는 해당로우가 보이고있는지 안보이고있는지, 체크된 상태인지, 선택된 상태인지 세가지 정보가 들어있습니다.
로우모델은 grid.settings.rows에 담겨 있습니다. 이 로우 모델은 그리드에 데이터가 추가되거나, 소팅, 필터링으로 인해 로우표시 상태가 바뀌었을때 업데이트 됩니다.
var grid = webponent.grid.init(table, template); var rowModelArray = grid.settings.rows; var firstRow = rowModelArray[0]; if (firstRow.checked === true ) { // Do something... }
로우모델에는 다음과 같은 정보가 담겨 있습니다.
@type {Boolean} 필터링, 서칭으로 인해 로우가 보이는지 안보이는지
@type {Boolean} 체크박스 UI로 로우가 체크되어있는지
@type {Boolean} 로우 셀렉트 UI 로 로우가 선택되어 있는지
웹포넌트 그리드에서는 그리드에 표시되는 전체로우의 노드를 캐싱하고 있습니다. 이는 TR노드로 이루어진 배열이며 grid.rows로 접근 할 수 있습니다.
var grid = webponent.grid.init(table, template); var rows = grid.rows; var firstRow = rows[0]; //해당노드의 데이터 객체 var firstRowData = firstRow.data; $(rows).on('click', function (e) { // Do something... });
이렇게 접근한 그리드의 TR노드는 다음과 같은 세가지 정보를 가지고 있습니다.
@type {Object} 해당로우의 로우모델이 담겨 있습니다.
@type {Object} 해당로우의 데이터가 담겨있습니다.
@type {Number} 해당로우가 그리드에서 몇번째 로우인지를 담고 있습니다.
그리드를 구성하는 TR노드에 어떠한 방식으로 접근 하더라도 위의 정보가 담겨있습니다. 때문에 로우의 index나 data를 참조하는 코딩이 필요할때 유용하게 사용 될 수 있습니다.