refactor: 02. 하수관로 tab 구조 개선 & grid footer 설정 수정
- 개별 컬럼 정의 파일들을 리스트로 묶어 TabDataGrid에 직접 전달하는 방식으로 변경 - footerSummary.ts에 포맷별(정수/소수점) 설정 객체 추가 및 export - SeweragePenetrationRateMngColumn.ts 파일에 footer 적용
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import type { GridView, DataColumn } from "@/components/type/DataGrid.type";
|
||||
|
||||
// 그리드 푸터 합계 계산 함수 (계산 로직)
|
||||
export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
// 데이터 소스에서 직접 합계 계산
|
||||
const dataSource = grid.getDataSource();
|
||||
@@ -8,6 +9,7 @@ export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
|
||||
for (let i = 0; i < rowCount; i++) {
|
||||
const cellValue = dataSource.getValue(i, column.fieldName);
|
||||
|
||||
// 문자열인 경우 숫자로 변환
|
||||
const numericValue = typeof cellValue === 'string'
|
||||
? Number(String(cellValue).replace(/,/g, ''))
|
||||
@@ -19,4 +21,25 @@ export const getFooterSummary = (grid: GridView, column: DataColumn) => {
|
||||
}
|
||||
|
||||
return sum;
|
||||
};
|
||||
};
|
||||
|
||||
// Footer 설정 객체 생성 함수
|
||||
const createSumFooter = (format: string) => ({
|
||||
expression: 'sum' as const,
|
||||
numberFormat: format,
|
||||
valueCallback: (grid: GridView, column: DataColumn) => {
|
||||
return getFooterSummary(grid, column);
|
||||
},
|
||||
});
|
||||
|
||||
// 1. 정수형 : #,##0
|
||||
export const footerInt = createSumFooter('#,##0');
|
||||
|
||||
// 2. 소수점 1자리 : #,##0.0
|
||||
export const footerDecimal1 = createSumFooter('#,##0.0');
|
||||
|
||||
// 3. 소수점 2자리 : #,##0.00
|
||||
export const footerDecimal2 = createSumFooter('#,##0.00');
|
||||
|
||||
// 4. 소수점 3자리 : #,##0.000
|
||||
export const footerDecimal3 = createSumFooter('#,##0.000');
|
||||
Reference in New Issue
Block a user