| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- vscode git clone
- 정적객체
- npm install
- owlcarousel
- googleicon
- 그누보드반응형
- npm install 문제
- 글자들여쓰기
- node설치
- node 오류
- react npm install
- minwidth
- slickslider
- XEIcon
- 아이콘사용법
- 단어단위로떨어지기
- git lab clone
- package.json
- npm start
- 이미지반응형
- MediaQuery
- legacy-peer
- 플러그인
- window 정책변경
- 동적객체
- 의존성문제
- Git clone
- fontawesome
- maxwidth
- 웹아이콘
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
[IBSHEET] 테이블 UI 라이브러리 본문
어드민 개발 서버에서 테이블을 IBSheet로 꾸리고 있어서 알아보게 되었다.
=> 해당 서버는 jsp로 되어 있고, java 기반으로 된 페이지였다. (상단에 적힌 아래 코드를 보고 알 수 있었다.)
=> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
=> java 기반이지만 spring을 사용할 수도 있다
구분법👇
| java 코드 사용 | <h2>안녕하세요, <%= name %>님!</h2> <!-- Java 변수 출력 --> |
| spring 코드 사용 | <h2>안녕하세요, ${name}님!</h2> <!-- Controller에서 받은 데이터 출력 --> |
=> 근데 내가 보는 jsp 페이지의 html에선 위와 같은 코드를 사용하고 있지 않았다.
=> 그런데 <spring:message code="btn.InvGenerate"/> 이걸 발견!
=> Spring의 국제화(i18n) 기능을 사용 중이며, messages.properties 파일에서 값을 가져온다고 한다.
==> 결과: java와 spring을 함께 사용하는 프로젝트
**현재 프로젝트에서는 IBSheet7 사용중
https://www.ibsheet.com/v7/ibproducts_2.html
IB Sheet
IB Chart Features IB Chart의 주요 기능들과 세부사항을 소개합니다 이동할 제품소개를 선택하세요 IB Sheet IB Tab IB Upload
www.ibsheet.com
IBSheet란?
- 유료 라이브러리이므로, 상업용으로 사용하려면 라이선스가 필요
- 웹 기반의 엑셀과 유사한 그리드(테이블) UI 라이브러리로, 대량의 데이터를 효율적으로 관리하고 편집할 수 있도록 도와주는 도구
- 웹 애플리케이션에서 엑셀처럼 표 데이터를 쉽게 추가, 수정, 삭제할 수 있게 해주며, HTML, JavaScript, JSP, Spring 등 다양한 환경에서 사용
1️⃣ 기본적인 IBSheet 설정 구조
var options = {
HeaderMode: { Sort: 1, Filter: 1 }, // 헤더에서 정렬, 필터 기능 활성화
Cols: [
{ Header: ["번호"], Type: "Seq", Width: 50 },
{ Header: ["이름", "번호"], Type: "Text", Width: 150, RelWidth: 1 }, // 여러줄 헤더 설정
{ Header: ["나이"], Type: "Int", Width: 80, CanEdit: 1 },
{ Header: ["직업"], Type: "Combo", Width: 120, ComboCode: "1:개발자;2:디자이너;3:기획자" }
]
};
✅ Cols 배열 안에서 컬럼별 설정을 JSON 형식으로 지정
✅ Type, Width, CanEdit 등의 속성을 사용하여 열(컬럼) 속성 설정 가능
2️⃣ Cols 옵션 상세 설명
Cols 배열 안에서 개별 컬럼을 설정할 때 사용되는 주요 옵션
| 속성명 | 설명 | 예제 |
| Header | 컬럼 제목 설정 | ["이름"] |
| Type | 데이터 타입 (Text, Int, Date, Combo 등) | "Text", "Int" |
| Width | 컬럼 너비 (픽셀 단위) | 150 |
| RelWidth | 상대적 너비 (비율 설정) | 1 |
| CanEdit | 편집 가능 여부 (1: 가능, 0: 불가능) | 1 |
| Align | 정렬 방식 (Left, Center, Right) | "Center" |
| Format | 숫자, 날짜 포맷 설정 | "#,###" |
| Hidden | 컬럼 숨기기 여부 | 1 (숨김) |
| ComboCode | 콤보박스 값 설정 | "1:개발자;2:디자이너" |
| Sort | 정렬 기능 활성화 | 1 |
3️⃣ Cfg 옵션 (ex. 행(row) 높이 등)
참고 공식 문서 : https://docs.ibsheet.com/ibsheet/v7/manual/#docs/intro/feature
IB Sheet7 Manual
docs.ibsheet.com
var options = {
Cfg: {
RowHeight: 30 // 전체 행 높이를 30px로 설정
MinRowHeight: 25 // 최소 행 높이를 25px로 설정
AutoRowHeight: 1 // 자동 행 높이 활성화
CanEdit: 0, // 전체 편집 불가능
SelectColor: "#DFF0D8", // 선택한 행의 배경색 연두색 계열로 설정
Paging: 1, // 페이징 기능 활성화
EnterMode: "next" // Enter 키 입력 시 다음 셀로 이동
}
};
| 동작 | 속성명 | 설명 | 예제 |
| 전체 행 높이 설정 | RowHeight | 모든 행의 높이 고정 | Cfg: { RowHeight: 30 } |
| 최소 행 높이 지정 | MinRowHeight | 최소 높이 지정 (줄어들지 않음) | Cfg: { MinRowHeight: 25 } |
| 자동 행 높이 조절 ** MergeSheet가 0이 아니면 충돌나서 적용이 안 될 수 있음 ** |
AutoRowHeight | 내용이 많을 경우 자동 증가 | Cfg: { AutoRowHeight: 1 } |
| 특정 행 높이 변경 | SetRowHeight(row, height) | 특정 행만 높이 변경 | SetRowHeight(3, 50); |
| 전체 Sheet 편집 가능 여부 | CanEdit | 1: 가능, 0: 불가능 | CanEdit: 0 |
| 페이징 기능 활성화 여부 | Paging | 1: 활성화, 0: 비활성화 | Paging: 1 |
| 선택한 행의 배경색 변경 | SelectColor | 배경색 변경 | SelectColor: "#DFF0D8" |
| 엔터(Enter) 키 입력 시 이동 방식 설정 | EnterMode | EnterMode: "next" | |
| 데이터를 불러오는 방식 | SearchMode | 0: 모든 데이터 로드, 2: 스크롤 시점 로드 | SearchMode: 2 |
