옵시디언 데이터뷰(dataview) - 조건에 따른 행(row) 색상 변경하기


옵시디언 데이터뷰 사용중 아래와 같은 기능이 있으면 보기 좋을것 같아서 한번 적용해보았습니다.

이 글은 [[옵시디언 데이터뷰(dataview) - 조건에 따른 행(row) 색상 변경하기 2 - 쉬운 버전]] 페이지의 데이터뷰 구성을 인라인 테이블 방식으로 적용한 업그레이드 버전입니다.

목표

참고

코드 및 설명

2개 모두 적용해야 함.

데이터뷰 스크립트

TABLE WITHOUT ID  
choice(flg_bg=true, col1, choice(flg_bg_yellow=true,""+col1+"", ""+col1+"")) as 번호, 
col2 as "제목" , 
col3 as "상태" 
WHERE file.path=this.file.path
FLATTEN file.lists AS L GROUP BY meta(L.section).subpath as title
FLATTEN rows.L.번호[0] as col1
FLATTEN title as col2
FLATTEN rows.L.상태[1] as col3
FLATTEN choice(rows.L.상태[1]="정상", true, false) as flg_bg
FLATTEN choice(contains(rows.L.상태[1],"경"), true, false) as flg_bg_yellow
WHERE col1 != null
SORT title DESC

설명

css

 /* Style row that contains .custom_dv_grayout */
table.dataview tr:has(td):has(span):has(.custom_dv_grayout) {
    background-color: #cdcdcd !important; /*연회색 강제*/
}

table.dataview tr:has(td):has(span):has(.custom_dv_yellow) {
    background-color: #fcfcaa !important; /*연노란색 강제*/
}

코드설명

전체 설명

  1. 상태=정상
    • flg_bg: true ⭢ 아무것도 안함
  2. 상태가 ‘정상’ 아니고 ‘경’포함
    • flg_bg: false, flg_bg_yellow : true ⭢ custom_dv_yellow설정 ⭢ background-color: #fcfcaa !important; ⭢ 노란색 배경
  3. 나머지 모든 경우
    • flg_bg: false, flg_bg_yellow : false ⭢ custom_dv_grayout 설정 ⭢ background-color: #cdcdcd !important; -> 회색 배경

요약

flg_bg = 아무것도 안함 flg_bg_yellowcustom_dv_yellow설정 ⭢ background-color: #fcfcaa !important; (노란색 배경) 나머지 모든 경우 ⭢ custom_dv_grayout 설정 ⭢ background-color: #cdcdcd !important; (회색 배경)

참고

FLATTEN rows.L.번호[0] as col1
FLATTEN title as col2
FLATTEN rows.L.상태[1] as col3
FLATTEN choice(rows.L.상태[1]="정상", true, false) as flg_bg
FLATTEN choice(contains(rows.L.상태[1],"경"), true, false) as flg_bg_yellow

데이터

title1

title2

title3

title4

title5

title6

title7

title8


연관포스트

[[Obsidian Dataview로 인라인 테이블 구성하기]] [[옵시디언 데이터뷰(dataview) - 조건에 따른 행(row) 색상 변경하기 2 - 쉬운 버전]]

#obsidian #dataview