SMART datagrid v1.4 > Concepts

Back  Forward

Concepts.Grid Style Sheet

그리드 스타일시트는 독립적으로 스타일셋을 적용할 수 있는 모든 영역에 대한 스타일 설정이 포함된 객체이다. 

그리드 초기화 시 내장된 기본 스타일시트가 적용되며, 아래 예제 코드에 예시한 두 가지 방식으로 GridBase.loadStyles 메소드를 호출해서 언제든지 다른 스타일셋을 그리드에 적용할 수 있다. 

하나 이상의 스타일시트를 외부 파일이나 서버 데이터로 관리하면, 상황에 맞는 어플리케에션 UI 테마의 일부로서 사용될 수 있다. 

"default"GridBase.defaultStyles에 적용되는 스타일로 대부분 모든 영역 스타일의 부모 스타일이 된다. 

계층 구조는 아래표의 parent열을 참고한다. 

또, 아래 코드에서 "loadStyles only"로 주석된 항목은 스타일시트에는 포함되지 않지만, loadStyles로 설정할 수 있는 스타일들이다. 

Code -1
    var sheet = {
        "default": {},
        grid: {},           
        panel: {},
        groupPanel: {
            item: {},
            itemInner: {},
            head: {},
            headInner: {}
        },
        body: {
            empty: {},
            row: {},
            fixedRow: {},
            cell: {},
            fixedCell: {},
            fixedMerged: {},
            
            created: {},
            updated: {},
            deleted: {},
            checked: {},

            fixedColumnBar: {},
            fixedRowBar: {},
            selection: {},
            mobileSelection: {},
            merged: {},
            rowRange: {},       // loadStyles only
            rowDynamic: [],     // loadStyles only
            cellDynamic: []     // loadStyles only
        },
        header: {
            group: {},
            head: {},
            sub: {},
            menuHandle: {},
            filterHandle: {},
            sortHandle: {},
            sortOrder: {},
            summary: {
                group: {},
                head: {}
            },
        },
        footer: {
            group: {},
            head: {}
        },
        rowGroup: {
            header: {},
            expander: {},
            footer: {},
            indent: {},
            head: {},
            bar: {},
            headerBar: {},
            footerBar: {}
        },
        rowIndicator: {
            state: {},
            created: {},
            updated: {},
            deleted: {}
        },
        checkBar: {
            head: {}
        },
        headerItem: {},
        footerItem: {},
        tooltip: {},
        tree: {
            footer: {},
            expander: {},
            indent: {}
        }
    };
    grid.loadStyles(sheet);
Code -2
    var sheet = {
        "default": {},
        "grid": {},
        "panel": {},
        "groupPanel": {},
        "groupPanel.item": {},
        "groupPanel.itemInner": {},
        "groupPanel.head": {},
        "groupPanel.headInner": {},
        "body": {},
        "body.empty": {},
        "body.row": {},
        "body.fixedRow": {},
        "body.cell": {},
        "body.fixedCell": {},
        "body.fixedMerged": {},
        "body.rowRange": {},
        "body.created": {},
        "body.updated": {},
        "body.deleted": {},
        "body.checked": {},
        "body.fixedColumnBar": {},
        "body.fixedRowBar": {},
        "body.selection": {},
        "body.merged": {},
        "body.mobileSelection": {},
        "body.rowDynamic": {},
        "body.cellDynamic": {},
        "header": {},
        "header.group": {},
        "header.head": {},
        "header.sub": {},
        "header.menuHandle": {},
        "header.filterHandle": {},
        "header.sortHandle": {},
        "header.sortOrder": {},
        "header.summary": {},
        "header.summary.group": {},
        "header.summary.head": {},
        "footer": {},
        "footer.group": {},
        "footer.head": {},
        "rowGroup.header": {},
        "rowGroup.expander": {},
        "rowGroup.footer": {},
        "rowGroup.indent": {},
        "rowGroup.head": {},
        "rowGroup.bar": {},
        "rowGroup.headerBar": {},
        "rowGroup.footerBar": {},
        "rowIndicator": {},
        "rowIndicator.state": {},
        "rowIndicator.created": {},
        "rowIndicator.updated": {},
        "rowIndicator.deleted": {},
        "checkBar": {},
        "checkBar.head": {},
        "headerItem": {},
        "tooltip": {},
        "footerItem": {},
        "tree.footer": {},
        "tree.expander": {},
        "tree.indent": {}
    }
    grid.loadStyles(sheet);

아래의 표의 영역 링크들을 클릭하여 각각의 영역이 그리드의 어떤부분에 속하는지 이미지로 확인할수 있다. 

각각의 영역에 해당하는 개요 내용을 보고 스타일을 적용한다. 

Table-1  그리드 스타일 영역들
영역Parent개요
default모든 스타일셋의 마지막 parent
griddefault그리드 보더나 트리뷰 라인 등 그리드 자체를 그릴 때 사용.
paneldefault(현재 사용하지 않는다)
groupPaneldefault그룹 패널의 기본 스타일셋.
groupPanel.itemgroupPanel그룹 패널에 표시되는 필드 아이템을 그릴 때 사용.
groupPanel.itemInnergroupPanel그룹 패널에 표시되는 필드 아이템의 안쪽 경계선을 그릴 때 사용.
groupPanel.headgroupPanel그룹 패널 헤드 셀을 그릴 때 사용.
groupPanel.headInnergroupPanel그룹 패널 헤드 셀의 안쪽 경계선을 그릴 때 사용.
bodydefault데이터셀들이 표시되는 body 영역의 바탕색 지정.
body.emptydefault컬럼이나 행이 없는 비어있는 그리드의 바탕이나 텍스트 스타일.
body.rowdefault그리드행들의 바탕색 및 아래쪽 경계선 스타일.
body.fixedRowdefault고정행들의 바탕색 및 아래쪽 경계선 스타일.
body.celldefault데이터셀들을 그릴 때 사용되는 기본 스타일셋.
body.fixedCellbody.cell고정 영역에 포함되는 데이터셀들을 그릴 때 사용되는 기본 스타일셋.
body.fixedMergedbody.cell고정 영역에 포함되는 머지된 데이터셀들을 그릴 때 사용되는 기본 스타일셋.
body.createddefaultCREATED 상태의 행을 그릴 때 사용되는 스타일셋.
body.updateddefaultUPDATED 상태의 행을 그릴 때 사용되는 스타일셋.
body.deleteddefaultDELETED 상태의 행을 그릴 때 사용되는 스타일셋.
body.checkeddefaultChecked 상태의 행을 그릴 때 사용되는 스타일셋.
body.fixedColumnBardefault고정 영역을 구분하는 컬럼바를 그릴 때 사용되는 스타일셋.
body.fixedRowBardefault고정 영역을 구분하는 Row바를 그릴 때 사용되는 스타일셋.
body.selectiondefault선택 영역의 색과 경계선을 그릴 때 사용되는 스타일셋.
body.mobileSelectiondefault모바일에서 선택 영역의 색과 경계선을 그릴 때 사용되는 스타일셋.
body.rowRange그리드행 별로 스타일셋을 지정할 수 있다. rowRangeStyles 참조.
body.rowDynamic그리드행 수준의 동적 스타일셋. rowDynamicStyles 참조.
body.cellDynamic데이터셀 수준의 동적 스타일셋. cellDynamicStyles 참조.
headerdefaultGridHeader 셀들을 그릴 때 사용되는 기본 스타일셋.
header.groupdefaultGridHeader의 그룹셀들을 그릴 때 사용되는 기본 스타일셋.
header.headheaderGridHeader 헤드셀을 그릴 때 사용되는 스타일셋.
header.subdefaultGridHeader 셀의 sub 아이템을 그릴 때 사용되는 기본 스타일셋.
header.menuHandledefaultGridHeader 헤드셀에 표시되는 메뉴 핸들을 그릴 때 사용되는 스타일셋.
header.filterHandledefault컬럼 헤더셀의 filter 핸들을 그릴 때 사용.
header.sortHandledefault컬럼 헤더셀의 sort 핸들을 그릴 때 사용.
header.sortOrderdefault컬럼 헤더셀의 sort order 텍스트를 그릴 때 사용.
header.summarydefaultHeaderSummary 셀들을 그릴 때 사용되는 기본 스타일셋.
header.summary.groupdefaultHeaderSummary 그룹셀들을 그릴 때 사용되는 기본 스타일셋.
header.summary.headheader.summaryHeaderSummary 헤드셀을 그릴 때 사용되는 스타일셋.
footerdefaultGridFooter 셀을 그릴 때 사용되는 스타일셋.
footer.groupdefaultGridFooter 그룹셀을 그릴 때 사용되는 스타일셋.
footer.headfooterGridFooter 헤드셀을 그릴 때 사용되는 스타일셋.
rowGroup.headerdefault그룹행을 그릴 때 사용되는 기본 스타일셋.
rowGroup.expanderdefault그룹행의 expander를 그릴 때 사용되는 기본 스타일셋.
rowGroup.footerdefault그룹 footer행을 그릴 때 사용되는 기본 스타일셋.
rowGroup.indentdefault그룹행 왼쪽의 여백을 그릴 때 사용되는 스타일셋.
rowGroup.headheader행그룹의 레벨별 헤드셀을 그릴 때 사용되는 스타일셋.
rowGroup.footfooter행그룹의 레벨별 footer셀을 그릴 때 사용되는 스타일셋.
rowGroup.bardefault(현재 사용되지 않는다)
rowGroup.headerBarrowGroup.header(현재 사용되지 않는다)
rowGroup.footerBarrowGroup.footer(현재 사용되지 않는다)
rowIndicatordefaultRowIndicator 셀들을 그릴 때 사용되는 기본 스타일셋.
rowIndicator.statedefaultRowIndicator state 셀들을 그릴 때 사용되는 기본 스타일셋.
rowIndicator.createddefaultRowIndicator DataRowState.CRAETED 상태인 행의 state 셀들을 그릴 때 사용되는 스타일셋.
rowIndicator.updateddefaultRowIndicator DataRowState.UPDATED 상태인 행의 state 셀들을 그릴 때 사용되는 스타일셋.
rowIndicator.deleteddefaultRowIndicator DataRowState.DELETED나 DataRowState.CREATE_AND_DEL 상태인 행의 state 셀들을 그릴 때 사용되는 스타일셋.
checkBardefaultCheckBar 셀들을 그릴 때 사용되는 기본 스타일셋.
checkBar.headheaderCheckBar 헤드셀을 그릴 때 사용되는 스타일셋.
tooltipdefault셀 위에 표시되는 툴팁 상자를 표시할 때 사용된다.(ver 1.3.5)
headerItemdefault그리드 헤더아이템을 그릴 때 사용되는 기본 스타일셋.
footerItemdefault그리드 footer아이템을 그릴 때 사용되는 기본 스타일셋.
treedefaultgrid 스타일셋과 동일.v 1.3.8
tree.footerdefault트리행의 footer셀들을 그릴 때 사용되는 기본 스타일셋.
tree.expanderdefault트리행의 expander를 그릴 때 사용되는 스타일셋.
tree.indentdefault트리행의 왼쪽 여백을 그릴 때 사용되는 스타일셋.
See Also
GridStyles
GridView
GridBase.loadStyles
RenderingPerformance
Examples
Load Styles