Theme React Data Grid

    React 테마 엔진을 사용하면 Ignite UI for React Grid를 브랜드 아이덴티티에 맞게 쉽게 사용자 지정할 수 있습니다. 미리 정의된 테마 및 색상표 외에도 CSS 사용자 지정 속성 집합을 사용하여 데이터 그리드의 모양과 느낌을 추가로 사용자 지정할 수 있습니다.

    Available theming properties

    속성 이름 유형 설명
    --그리드 고도 0-24 사이의 숫자 그리드에 사용될 고도 수준
    --드래그 고도 0-24 사이의 숫자 이동 가능한 요소(예: 열 헤더)에 사용되는 고도 수준
    --grouparea-색상 색상 그리드 그룹 영역 텍스트 색상
    --grouparea-배경 색상 그리드 그룹 영역 텍스트 색상
    --드롭 영역 텍스트 색상 색상 드롭 영역 텍스트 색상
    --드롭 영역 아이콘 색상 색상 드롭 영역 아이콘 색상
    --드롭 영역 배경 색상 드롭 영역 배경색
    --드롭 영역에 드롭 배경 색상 드롭 색상의 드롭 영역 배경
    --헤더 배경 색상 그리드 헤더 배경색
    --헤더 텍스트 색상 색상 그리드 헤더 텍스트 색상
    --헤더 선택 배경 색상 선택 시 그리드 헤더 배경색입니다(예: 열 선택).
    --헤더-선택-텍스트-색상 색상 선택 시 그리드 헤더 텍스트 색상입니다(예: 열 선택).
    --정렬 가능한 헤더 아이콘 호버 색상 색상 열을 정렬할 수 있을 때 그리드 헤더에 마우스를 올리면 아이콘 색상이 표시됩니다.
    --정렬-헤더-아이콘-색상 색상 정렬된 테이블 헤더 아이콘 색상
    --헤더-테두리-너비 테두리 너비 헤더 테두리에 사용되는 테두리 너비입니다.
    --헤더 테두리 스타일 테두리 스타일 헤더 테두리에 사용되는 테두리 스타일입니다. '점선', '점선' 또는 '단색'일 수 있습니다.
    --헤더-테두리-색상 색상 머리글 테두리에 사용되는 색상입니다.
    --고스트 헤더 배경 색상 드래그된 헤더 배경색입니다.
    --고스트-헤더-텍스트-색상 색상 드래그된 헤더 텍스트 색상입니다.
    --고스트-헤더-아이콘-색상 색상 드래그된 헤더 아이콘 색상입니다.
    --필터링 배경 및 색상 고급 필터링 "AND" 조건의 배경색입니다.
    --필터링 배경-또는 색상 고급 필터링 "AND" 조건의 초점/선택 시 배경색입니다.
    --필터링 배경 및--초점 색상 고급 필터링 "OR" 조건의 배경색입니다.
    --필터링-배경-또는--초점 색상 고급 필터링 "OR" 조건의 초점/선택 시 배경색입니다.
    --그리드 테두리 색상 색상 그리드를 둘러싸는 테두리 색상입니다.
    --내용-배경 색상 그리드 본문 배경색입니다.
    --내용-텍스트-색상 색상 그리드 본문 텍스트 색상입니다.
    --행-홀수-배경 색상 홀수 행의 배경색입니다.
    --행 짝수 배경 색상 짝수 행의 배경색입니다.
    --행-홀수-텍스트-색상 색상 홀수 행의 텍스트 색상입니다.
    --행-짝수-텍스트-색상 색상 짝수 행의 텍스트 색상입니다.
    --행 선택 배경 색상 선택한 행 배경색입니다.
    --트리 선택-필터링-행-텍스트-색상 색상 선택/필터링된 행 텍스트 색상
    --행-선택-텍스트-색상 색상 선택한 행 텍스트 색상입니다.
    --배경 내에서 셀 선택 색상 선택한 행/열 내에서 선택한 셀의 배경입니다.
    --텍스트 색상 내에서 셀 선택 색상 선택한 행/열 내에서 선택한 셀의 색상입니다.
    --행 선택-호버-배경 색상 선택한 행 호버 배경입니다.
    --행-선택-호버-텍스트-색상 색상 선택한 행 호버 텍스트
    --행-호버-배경 색상 호버 행 배경색입니다.
    --행-호버-텍스트-색상 색상 호버 행 텍스트 색상입니다.
    --행 테두리 색상 색상 그리드 본문 행 사이의 테두리 색상입니다.
    --고정 테두리 너비 테두리 너비 고정된 행/열의 테두리 너비입니다.
    --고정 테두리 스타일 테두리 스타일 고정된 행/열의 테두리 스타일입니다. '점선', '점선' 또는 '단색'일 수 있습니다.
    --고정 테두리 색상 색상 고정된 행/열의 테두리 색상입니다.
    --셀 활성 테두리 색상 색상 활성(초점을 맞춘) 셀 테두리 색상입니다.
    --셀 선택 배경 색상 선택한 셀 배경색입니다.
    --트리 선택-필터링-셀-텍스트-색상 색상 선택/필터링된 셀 텍스트 색상
    --셀 선택 텍스트 색상 색상 선택한 셀 텍스트 색상입니다.
    --셀 편집-배경 색상 편집 모드에서 셀의 배경색입니다.
    --편집 모드 색상 색상 편집 모드의 텍스트 색상
    --편집된 행 표시기 색상 편집된 행의 표시기 색상입니다.
    --셀-새-색상 색상 편집되지 않은 새 셀의 텍스트 색상입니다. 그리드에 새 행을 추가할 때 사용됩니다.
    --셀 편집된 값-색상 색상 셀 편집 값의 색상입니다.
    --셀 비활성화 색상 색상 비활성화된 셀의 텍스트 색상입니다.
    --크기 조정-선-색상 색상 그리드 헤더의 선 색상 크기가 조정됩니다.
    --드롭 표시기 색상 색상 드롭 표시기의 색상입니다.
    --그룹-라벨-열-이름-텍스트 색상 그리드 그룹 행 열 이름 텍스트 색상입니다.
    --그룹-라벨-아이콘 색상 그리드 그룹 행 아이콘 색상입니다.
    --그룹-라벨-텍스트 색상 그리드 그룹 행 텍스트 색상입니다.
    --확장-모든-아이콘-색상 색상 그리드 헤더는 모든 그룹 행 아이콘 색상을 확장합니다.
    --expand-all-icon-hover-color 색상 그리드 헤더는 모든 그룹 행 아이콘 호버 색상을 확장합니다.
    --확장-아이콘-색상 색상 그리드 행 확장 아이콘 색상입니다.
    --확장-아이콘-호버-색상 색상 그리드 행 확장 아이콘 마우스오버 색상입니다.
    --활성-확장-아이콘-색상 색상 드롭 색상의 드롭 영역 배경입니다.
    --active-expand-icon-hover-color 색상 드롭 색상의 드롭 영역 배경입니다.
    --그룹 수-배경 색상 그리드 그룹 행 연속 배지 배경색입니다.
    --그룹 수-텍스트-색상 색상 그리드 그룹 행 연속 배지 텍스트 색상입니다.
    --그룹 행 배경 색상 그리드 그룹 행 배경색입니다.
    --그룹 행 선택 배경 색상 드롭 색상의 드롭 영역 배경입니다.
    --필터링 헤더 배경 색상 필터링된 열 헤더의 배경색입니다.
    --필터링-헤더-텍스트-색상 색상 필터링된 열 헤더의 텍스트 색상입니다.
    --필터링 행 배경 색상 필터링 행의 배경색입니다.
    --필터링-행-텍스트-색상 색상 필터링 행의 텍스트 색상입니다.
    --트리 필터링된 텍스트 색상 색상 초점이 맞춰진 그룹화 행 배경색입니다.
    --본문-요약-배경 색상 본문에 위치한 요약 그룹의 배경색입니다.
    --본문-요약-텍스트-색상 색상 본문에 위치한 요약 그룹의 텍스트 색상입니다.
    --루트-요약-배경 색상 바닥글에 위치한 요약 그룹의 배경색입니다.
    --루트-요약-텍스트-색상 색상 바닥글에 있는 요약 그룹의 텍스트 색상입니다.
    --행 강조 색상 그리드 행 강조 색상입니다.
    --행-고스트-배경 색상 드래그된 행의 배경색입니다.
    --행-드래그-색상 색상 드래그 핸들의 색상입니다.
    --드롭 영역 테두리 반경 0과 1 사이의 숫자 놓기 영역에 사용되는 테두리 반경입니다. 0과 1 사이의 분수, 픽셀 또는 퍼센트일 수 있습니다.

    How to use

    위에서 언급한 것처럼 테이블의 CSS 변수를 사용하면 그리드 스타일을 지정할 수 있습니다. 다음 헤더 배경과 텍스트 색상 등을 변경하여 어두운 테마를 사용하도록 그리드를 변경하고 싶다고 가정해 보겠습니다. 선택적으로 dark-theme.css라는 파일에서 그렇게 할 수 있습니다.

    import "./dark-theme.css";

    .ig-data-grid {
      /* shared variables used in custom properties */
      --cell-text-color:#58258b;
      --cell-background:#191919;
      --cell-selected-background: #58258b;
      --cell-selected-within-text-color: #191919;
      --cell-selected-within-background: #58258b;
    
      --row-selected-background:var(--cell-selected-background);
      --row-hover-background:var(--cell-selected-background);
      --row-hover-text-color:var(--cell-background);
    
      --header-background: #58258b;
      --header-text-color: #191919;
      --header-separator-background: #58258b;
      --header-separator-width: 5px;
    
      --section-header-background: #191919;
      --section-header-text-color: #58258b;
      --section-header-selected-background: #58258b;
      --section-header-selected-text-color: #191919;
    
      --row-separator-background: #191919;
      --row-separator-last-sticky-row-background: #191919;
      --row-separator-pinned-row-background: #58258b;
      --row-separator-sticky-row-background: #58258b;
    
      --column-resizing-separator-background: #58258b;
      --column-moving-separator-background: #58258b;
    
    
      --filtering-header-background: #272727;
      --filtering-header-text-color: #ffffff;
      --filtering-row-background: #272727;
      --filtering-row-text-color: #ffffff;
      --tree-filtered-text-color: #ffffff;
    
      --summary-root-background: #7446b9;
      --summary-root-label-text-color: #191919;
      --summary-root-value-text-color: #191919;
    }
    
    .ig-grid-column-options {
      --background-color: black;
      --text-color: #7446b9;
      --summary-list-text-color: #7446b9;
      --summary-list-background: #191919;
    }
    
    .ig-data-grid-toolbar {
      --background-color: #191919;
      --text-color: #58258b;
      --dialog-background-color: #191919;
    }
    
    .ig-column-chooser {
      --background-color: #191919;
      --title-color: green;
      --select-all-caption-text-color: #58258b;
      --search-icon-color: #58258b;
      --search-text-color: #58258b;
      --search-background-color: #191919;
      --search-border-color: #58258b;
      --search-text-style: 12px 'Courier';
    }
    
    .ig-column-pinning {
      --background-color: white;
      --text-color: #7446b9;
      --select-all-caption-text-color: #58258b;
      --search-icon-color: #58258b;
      --search-text-color: #58258b;
      --search-background-color: #191919;
      --search-border-color: #58258b;
      --search-text-style: 12px 'Courier';
    }