아래와 같이 그리드 선언을 하였습니다.
categoryGridPager = new wijmo.input.CollectionViewNavigator('#categoryGridPager', {
byPage: true,
headerFormat: '{currentPage:n0} / {pageCount:n0}',
cv: stockView
});
categoryGrid = new wijmo.grid.FlexGrid('#categoryGrid', {
autoGenerateColumns: false,
alternatingRowStep: 0,
columns: [
{ binding: 'l_categy_cd', header: '대카테고리코드', isReadOnly: false, width: 230, align:"center"},
{ binding: 'l_categy_nm', header: '대카테고리명', isReadOnly: false, width: 230, align:"center"},
{ binding: 'm_categy_cd', header: '중카테고리코드', isReadOnly: false, width: 230, align:"center" },
{ binding: 'm_categy_nm', header: '중카테고리명', isReadOnly: false, width: 230, align:"center" },
{ binding: 'reg_date', header: '등록일시', isReadOnly: true, width: 230, align:"center" }
],
beginningEdit: function (s, e) {
var col = s.columns[e.col];
var item = s.rows[e.row].dataItem;
if(item.reg_date != undefined){
if (col.binding == 'l_categy_cd') {
e.cancel = true;
alert("대카테고리코드는 신규 행일때만 입력이 가능합니다.");
}else if(col.binding == 'm_categy_cd'){
e.cancel = true;
alert("중카테고리코드는 신규 행일때만 입력이 가능합니다.");
}
}
},
cellEditEnding: function (s, e) {
var col = s.columns[e.col];
if (col.binding == 'l_categy_cd') {
var value = wijmo.changeType(s.activeEditor.value, wijmo.DataType.String, col.format);
if (value.length != 2) {
e.cancel = true;
e.stayInEditMode = true;
alert('대카테고리코드는 2자리 입니다.');
}
value = wijmo.changeType(s.activeEditor.value, wijmo.DataType.Number, col.format);
if( !wijmo.isNumber(value) || value < 0){
e.cancel = true;
e.stayInEditMode = true;
alert('대카테고리코드는 숫자로만 입력 가능합니다.');
}
}
},
itemsSource: categoryView,
});
categorySelector = new wijmo.grid.selector.Selector(categoryGrid, {
itemChecked: () => {
}
});