2025년 2분기 신규기능(Ver 8.3.0.1~8.3.0.17)
Ver 8.3.0.1-20250403-19
1. (Col,Cell)SuggestType 에 Validate 인자 추가
Suggest 사용 시 사용자가 편집을 끝낸 시점에 입력한 값을 판단하여 Suggest 에 없는 값이 입력될 경우 이전 값으로 치환해버리는 Validation 인자가 SuggestType에 추가되었습니다.
[사용 예시]
//Suggest기능 사용 options.Cols = [ ... { ... Suggest: "|싼타페 현대|포터2 현대|그랜저 현대|카니발 기아...", SuggestType: "Validate" // Suggest 에 선언한 이외의 값이 입력될 경우 이전 값으로 치환 }, ... ]; |
2. 피벗 다이얼로그에 레이아웃 바로 업데이트 기능 추가 및 ui 개선
ibsheet-dialog.js 1.1.35-20250403-15 이상의 버전이 필요합니다.
ibsheet.js 8.3.0.1-20250403-19 버전에 맞는 locale 파일도 함께 적용되어야합니다.
피벗 다이얼로그에 피벗 조건을 변경할 때 시트에 즉시 반영되는 기능(바로 업데이트 버튼)을 추가했습니다.
상단 컬럼 검색창과 피벗 관련 설명 문구가 추가되었습니다.
[수정된 피벗 다이얼로그]
3. (Method)showFilterDialog, (Method)hideFilterDialog 추가
(Cfg)UseFilterDialog 를 동적으로 제어할 수 있는 showFilterDialog(),hideFilterDialog() 가 추가되었습니다.
[사용 예시]
sheet.showFilterDialog() // 필터 다이얼로그 동적으로 표현 sheet.hideFilterDialog() // 필터 다이얼로그 동적으로 숨김 |
Ver 8.3.0.3-20250410-19
1. Section
별로 HtmlPrefix
, HtmlPostfix
가 다르게 적용되어 있을 때, 행 높이를 보정해주는 (Cfg) MergeHeightAdjust
추가
HtmlPrefix나 HtmlPostfix와 같이 Cell의 높이에 영향을 주는 기능을 사용할 경우, 병합 영역 또는 시트의 섹션별 레이아웃 깨짐 현상이 발생 시, 병합 영역의 높이를 조정해주는 (Cfg)MergeHeightAdjust 속성을 추가했습니다.
true 로 사용 시 시트 내 병합 정보를 항상 확인하여 표시하기 때문에 머지된 영역이 많으면 시트가 느려질 수 있습니다.
[사용 예시]
ddoptions.Cfg = { MergeHeightAdjust: 1 // 병합된 영역의 높이 보정 }; |
Ver 8.3.0.5-20250424-14
1. onBeforeExport 이벤트에 data 인자 추가
onBeforeExport 이벤트에서 엑셀 다운 전 Blob 데이터를 받을 수 있는 인자인 data 인자가 추가되었습니다.
evtParam.data.blob 으로 blob 데이터를 받아 이용할 수 있습니다.
* 주의 : 해당 인자는 exportData 메소드에서만 사용가능합니다.
[사용 예시]
onBeforeExport : function (evtParam){ evtParam.data.blob // Blob 데이터를 이렇게 꺼낼 수 있음 .. return true; // Blob 데이터 처리로 엑셀 파일 다운이 필요없는 경우 return ture를 하여 엑셀 다운 중단 } |
연관게시글 보기) 엑셀 다운로드 시 비밀번호를 설정 방법
2. 외부 달력을 제어할 수 있는 onExCalendar 이벤트 추가
외부 달력을 제어할 수 있는 시트 이벤트를 발생시키도록 하는 onExcalendar 이벤트가 추가되었습니다.
시트의 onScroll, onKeyDown, onAfterFilter, onClick 이벤트 시점에 해당 이벤트가 발생합니다.
onClickSide 이벤트에서 외부 달력을 시트 셀 영역에 표시하고, 해당 이벤트에서 외부 달력을 제거할 수 있습니다.
[사용 예시]
// 외부 달력 이벤트 닫기 (onScroll, onKeyDown, onAfterFilter, onClick) onExcalendar : function (evtParam) { var isCal = false; var evtName = evtParam.evType; if (document.getElementsByClassName('daterangepicker ltr show-calendar opensright')[0] && document.getElementsByClassName('daterangepicker ltr show-calendar opensright')[0].style.display != 'none') isCal = true; switch (evtName) { case "onScroll": if (isCal) $('#CalendarInput').data('daterangepicker').remove(); break; case "onAfterFilter": // 필터행 초기화인 경우 if (evtParam.sheet.FCol == "FromData" && evtParam.sheet.FRow[evtParam.sheet.FCol] == '') { evtParam.sheet.doFilter("ToData",''); if (isCal) $('#CalendarInput').data('daterangepicker').remove(); } break; case "onKeyDown": //esc키를 누를 if (evtParam.params.name == "Esc" && isCal) $('#CalendarInput').data('daterangepicker').remove(); break; case "onClick": console.log('onClick'); break; } } |
Ver 8.3.0.9-20250515-17
1. 그룹행을 만들고 숨길 수 있는 (Method)showGroupRow
, hideGroupRow
추가
showGroupRow
, hideGroupRow
추가 그룹행을 동적으로 생성하고 숨길 수 있는 showGroupRow, hideGroupRow 함수가 추가되었습니다.
showGroupRow 는 내부 인자를 통해 그룹핑 대상 컬럼이나 그룹 기준 컬럼의 데이터 포맷을 설정하실 수 있습니다.
[사용 예시]
// 그룹행을 생성하고 그룹핑시 '{%s} <font color="gray">({%c}건)</font>' 포맷을 적용합니다. sheet.showGroupRow(null, '{%s} <font color="gray">({%c}건)</font>'); |
2. 포커스 된 상태에서 더블 클릭하는 경우만 편집 모드로 들어가는 (Cfg)InEditMode: 3
추가
시트의 편집 시점을 설정하는 (Cfg)InEditMode 속성에 아래의 경우에만 편집 모드로 들어가는 3번 옵션이 추가되었습니다.
- 이미 포커스된 셀을 더블 클릭할 때
- Enter 나 F2 키를 입력할 때
- 포커스 상태에서 입력할 떄
3. 피벗시트의 합계행을 표시하지 않는 옵션 추가
ibsheet-dialog.js 1.0.39-20250515-17
이상 버전이 필요합니다.
피벗 시트의 데이터 행에 '행 총합계 표시', '열 총합계 표시' 컨텍스트 메뉴가 추가되었습니다.
(Method)showPivotDialog
, makePivotTable 함수
에 hideTotal
인자가 추가되었습니다.
Ver 8.3.0.14-20250612-15
1. 선택 함수 사용 시에 (Event)onSelectEnd 발생 여부를 제어하는 ignoreEvent 인자 추가
선택 함수 사용 시에 (Event)onSelectEnd 발생 여부를 제어하는 ignoreEvent 인자 추가
기존 (Method)selectCell, selectCol, selectRow, selectAllRows, selectRange 와 같은 api 사용 시
onSelectEnd 이벤트가 발생하지 않았습니다.
이번 릴리즈에 각 api에 추가된 ignoreEvent 인자를 통해 onSelectEnd 이벤트 발생 여부를 제어할 수 있습니다.
[사용 예시]
sheet.selectAllRows(1, 0) // onSelectEnd 이벤트를 발생시킴. Ctrl+A 와 동일 |
Ver 8.3.0.15-20250619-15
1. 문자형 열에서 천단위 구분자(',')와 소수점 구분자('.')를 Size
계산에서 제외할 수 있는 (col) SizeIgnoreDecimalSep
옵션 추가
문자형 열에서 천단위 구분자(',')와 소수점 구분자('.')를 Size
계산에서 제외할 수 있는 (col) SizeIgnoreDecimalSep
옵션 추가
입력된 문자열이 숫자형인 경우, 설정된 열에 입력 가능한 글자 수에서 자릿수 구분자와 소수점 구분자의 값들을 글자 수에서 제외하는 기능입니다.
locale 파일의 GroupSeparator
, DecimalSeparator
를 기준으로 동작합니다.
locale 메세지 파일(ko.js,en.js등)에서 자릿수 구분자는 Format.GroupSeparator, 소수점 구분자는 Format.DecimalSeparator로 설정되어 있습니다.
주의 : Col 혹은 Cell에 Size 속성이 설정되어 있어야 해당 기능이 동작합니다.
[사용 예시]
//FloatData열에 최대 10글자까지 입력가능, 데이터가 숫자형인 경우 구분자를 입력제한 글자수에서 제외 options.Cols = [ ... {Type: "Text", Size: 10, SizeIgnoreDecimalSep: true, Name: "FloatData", Width: 120 ...}, ... ]; |
2. 시트의 스타일을 변경할 수 있는 고정행을 추가하는 (cfg) StyleRowConfig
추가
시트 상단 혹은 하단에 별도의 행을 통해 시트의 스타일을 설정 할 수 있습니다.
StorageType을 통해 스타일 정보를 저장할 방법을 설정할 수 있습니다.
[사용 예시]
StyleRowConfig: {
Visible: true, // 화면 표시 여부 default: true
StorageType: 2, // 0: 사용안함, 1: 캐시 사용, 2: 서버통신
ServerUrl: "../styleinforeturn.jsp", // 서버통신을 할 경우 url
AutoLoad: true, // 생성 시 스타일 정보 자동 로드 여부
Themes: {
IBMT: "../../assets/ibsheet/css/mint/main.css",
Custom: "../../assets/ibsheet/css/simple/main2.css"
}
}, |
[실행 결과]
Ver 8.3.0.16-20250626-16
1. (Method)ExportData
에 numberFormatMode
인자 추가
ExportData
에 numberFormatMode
인자 추가
(Method)down2Excel 에 제공되는 numberFormatMode 인자를 ExportData 에도 제공하도록 추가하였습니다.
down2Excel 과 동일하게 엑셀 다운 시 실수 형태의 데이터 타입에 대한 셀 서식 설정 방식을 지정할 수 있습니다.
[사용 예시]
sheet.exportData({numberFormatMode:1}) // 값에 따라 정수, 실수 형태로 셀 서식을 지정 |
2. Enum
의 선택 여부를 설정할 수 있는 (Col) EnumDisabled
옵션 추가
Enum 메뉴에서 특정 항목을 선택 불가로 만드려면 (Col,Cell)EnumMenu 를 이용하여 Enum과 관련된 소스를 다시 EnumMenu.Item 으로 지정해줘야 했습니다.
사용에 편의성을 높이기 위해 EnumDisabled 속성이 추가되었습니다. 이를 이용하여 간단하게 특정 Enum을 선택 불가(Disabled 상태)로 만들 수 있습니다.
[사용 예시]
//Enum 열에 item의 선택 불가능 여부를 설정한다. options.Cols = [ { "Header": "대분류", "Type": "Enum", "Name": "Category1", "Enum": "|가정/살림|경제 경영|국어 외국어 사전|만화/라이트노벨|소설/시/희곡|어린이|역사|예술|인문|자기계발|자연과학", "EnumKeys": "|A0|A1|A2|A3|A4|A5|A7|A8|A9|A10|A11", "EnumDisabled": "|1|0|0|0|0|1|0|1|1|0|0" // 특정 Enum 항목만 Disabled 로 만든다. } ]; |
3. 시트의 가로 스크롤을 숨길 수 있는 (Cfg) HideHScroll
옵션 추가
(Cfg) HideHScroll
옵션 추가 가로 스크롤을 표시하지 않는 기능인 (Cfg)HideHScroll 이 추가되었습니다.
시트의 너비를 조절하여 스크롤이 표시되지 않게 하는 (Cfg)NoHScroll 과는 다르게 HideHScroll 은 가로 스크롤은 보이지 않지만 유지되는 상태입니다.
Shift+위아래마우스휠 동작으로 보이지 않는 가로 스크롤을 움직일 수 있습니다.
4. 시트의 스크롤을 동기화 할 수 있는 (cfg) Sync
옵션 추가
(cfg) Sync
옵션 추가 시트의 스크롤을 다른 시트와 동기화 하는 기능입니다.
동기화하고자 하는 시트에 동일한 Sync 옵션을 주면 자동으로 해당 Sync 옵션을 가진 시트끼리 지정한 스크롤(세로,가로)이 동기화 됩니다.
제약사항
다음의 경우에 정상적으로 동작하지 않습니다:
- 시트 간
SearchMode
가 다른 경우 - 시트 간
AutoRowHeight
설정 여부가 다른 경우
[사용 예시]
두 시트의 가로, 세로 스크롤을 동기화 시킨다. -> sheetInit1 : { Cfg: { Sync: "Vert,Horz" // 가로, 세로 스크롤 동기화 }, ... } sheetInit2 : { Cfg: { Sync: "Vert,Horz" // 가로, 세로 스크롤 동기화 }, ... } |