2.2. 그리드 동적 컬럼 추가/삭제 시 cellIndex를 잘못 반환 받는 현상
2.2.1. 변경 전
기존 버전에서 그리드 동적 컬럼 추가/삭제 작업 수행 시 삭제된 컬럼의 cellIndex를 추가된 컬럼의 cellIndex로 부여하여 cellIndex가 재사용되었습니다. 이로 인해 추가된 셀의 cellIndex가 잘못 부여되는 현상이 발생하였습니다.
2.2.2. 변경 후
1.0.3221(2021년 8월 13일 릴리즈) 버전에서 그리드 동적 컬럼 추가/삭제 시 삭제된 컬럼의 cellIndex를 추가되는 컬럼의 cellIndex로 부여되지 않고, 각각 고유 cellIndex를 갖도록 수정되었습니다.
2.2.3. 조치 방안
동적 컬럼 추가/삭제 시 삭제된 컬럼의 cellIndex를 추가되는 컬럼의 cellIndex로 부여되지 않고, 각각 고유 cellIndex를 갖기 때문에 헤더 셀 인덱스 반환 시 getCellIndices API를 통해 반환 받도록 수정합니다.
[과거 버전에서 동적 컬럼 삭제 시 스크립트]
var vnHCellCnt = vcGrd.header.cellCount;
if (vnHCellCnt && vnHCellCnt != 0) {
// 마지막 셀부터 시작하여 첫 번째 셀까지 순회한다.
for (var i = vnHCellCnt; i >= 0; i--) {
// 각 셀(열)을 삭제한다.
vcGrd.deleteColumn(i + 1);
}
}
[1.0.3221 이후 버전에서 동적 컬럼 삭제 시 스크립트]
// 그리드의 헤더 영역에 있는 셀의 인덱스 배열을 가져온다.
var afterCol = vcGrd.header.getCellIndices();
if (afterCol && afterCol.length != 0) {
// 배열의 두 번째 요소부터(인덱스 1) 마지막 요소까지 순회한다.
for (var i = 1; i < afterCol.length; i++) {
// 해당 인덱스에 위치한 셀(열)을 삭제한다.
vcGrd.deleteColumn(afterCol[i]);
}
}
댓글 없음