로우 모델

webPonent Grid 2.0 Row Model

 웹포넌트 그리드에는 로우모델이라는 로우의 정보를 저장하고 있는 모델이 있습니다. 로우모델에는 해당로우가 보이고있는지 안보이고있는지, 체크된 상태인지, 선택된 상태인지 세가지 정보가 들어있습니다.

로우모델은 grid.settings.rows에 담겨 있습니다. 이 로우 모델은 그리드에 데이터가 추가되거나, 소팅, 필터링으로 인해 로우표시 상태가 바뀌었을때 업데이트 됩니다.

15px2

로우 모델

js
var grid = webponent.grid.init(table, template);
 
var rowModelArray = grid.settings.rows;
 
var firstRow = rowModelArray[0];
 
if (firstRow.checked === true ) {
	// Do something...
}

 로우모델에는 다음과 같은 정보가 담겨 있습니다.

visibility

@type {Boolean} 필터링, 서칭으로 인해 로우가 보이는지 안보이는지

checked

@type {Boolean} 체크박스 UI로 로우가 체크되어있는지

selected

@type {Boolean} 로우 셀렉트 UI 로 로우가 선택되어 있는지

그리드 로우

 웹포넌트 그리드에서는 그리드에 표시되는 전체로우의 노드를 캐싱하고 있습니다. 이는 TR노드로 이루어진 배열이며 grid.rows로 접근 할 수 있습니다.

js
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노드는 다음과 같은 세가지 정보를 가지고 있습니다.

rowModel

@type {Object} 해당로우의 로우모델이 담겨 있습니다.

data

@type {Object} 해당로우의 데이터가 담겨있습니다.

index

@type {Number} 해당로우가 그리드에서 몇번째 로우인지를 담고 있습니다.

그리드를 구성하는 TR노드에 어떠한 방식으로 접근 하더라도 위의 정보가 담겨있습니다. 때문에 로우의 index나 data를 참조하는 코딩이 필요할때 유용하게 사용 될 수 있습니다.