Skip to content
작성일2026년 05월 31일
수정일2026년 05월 31일
분량6,986
읽는 시간약 8분
26.05.31 작성· 26.05.31 수정· 약 8분

AG Grid Tooltip 사용법

tooltipField · tooltipValueGetter · headerTooltip · tooltipShowDelay · tooltipShowMode 한 번에 정리

AG Grid에서 툴팁은 별도 플러그인 없이 ColDefGridOptions만으로 구현할 수 있습니다.
이 글에서는 셀 툴팁·헤더 툴팁·표시 조건·타이밍 제어까지 실무에서 자주 쓰는 패턴을 모두 정리합니다.


목차

  1. 툴팁 개요
  2. tooltipField — 필드 값 그대로 표시
  3. tooltipValueGetter — 동적 툴팁 생성
  4. headerTooltip — 헤더 툴팁
  5. 딜레이 설정 3종
  6. tooltipShowMode — 표시 조건 제어
  7. 전체 예제 코드
  8. 속성 빠른 비교표

1. 툴팁 개요

AG Grid 툴팁은 셀, 헤더, 그룹 행 등 다양한 영역에 추가할 수 있습니다.

방법용도
tooltipField데이터 필드 값을 그대로 표시
tooltipValueGetter함수로 조건부·복합 텍스트 생성
headerTooltip컬럼 헤더에 툴팁 추가

참고: AG Grid 기본 툴팁은 브라우저 네이티브 title 속성을 사용합니다.
커스텀 스타일이 필요하다면 Custom Tooltip Component를 구현하세요.


2. tooltipField

행 데이터의 특정 필드 값을 툴팁 텍스트로 사용합니다.
가장 간단한 방법으로, 데이터 객체의 키 이름만 지정하면 됩니다.

javascript
const columnDefs = [
  {
    field: 'athleteName',
    headerName: '선수명',
    tooltipField: 'athleteName',      // 셀과 같은 필드를 툴팁으로
  },
  {
    field: 'country',
    headerName: '국가',
    tooltipField: 'countryFullName',  // 다른 필드를 툴팁으로
  }
];

팁: tooltipField에 현재 컬럼의 field다른 필드명을 지정해도 됩니다.
예를 들어 셀에는 약어 코드를 표시하고, 툴팁에는 전체 이름을 보여주는 패턴이 자주 쓰입니다.


3. tooltipValueGetter

함수로 동작하며, 조건부 로직이나 가공된 문자열을 툴팁에 표시할 때 사용합니다.
valueGetter와 동일한 params 객체를 받습니다.

기본 사용법

javascript
{
  field: 'gold',
  headerName: '금메달',
  tooltipValueGetter: (params) => {
    const { gold, silver, bronze } = params.data;
    return `금: ${gold} | 은: ${silver} | 동: ${bronze}`;
  }
}

조건부 툴팁 예시

javascript
{
  field: 'score',
  headerName: '점수',
  tooltipValueGetter: (params) => {
    if (params.value === null || params.value === undefined) return '데이터 없음';
    if (params.value >= 90) return '우수 성적';
    if (params.value >= 70) return '양호';
    return '개선 필요';
  }
}

params 주요 속성

속성타입설명
params.valueany현재 셀의 렌더링된 값
params.dataRowData현재 행의 전체 데이터 객체
params.colDefColDef현재 컬럼의 ColDef 객체
params.nodeRowNode현재 행의 Row Node

4. headerTooltip

컬럼 헤더에 툴팁을 추가합니다.
컬럼명이 짧거나 약어일 때 전체 설명을 표시하는 용도로 자주 쓰입니다.

javascript
const columnDefs = [
  {
    field: 'ctr',
    headerName: 'CTR',
    headerTooltip: 'Click-Through Rate (클릭률)',
  },
  {
    field: 'roas',
    headerName: 'ROAS',
    headerTooltip: 'Return On Ad Spend (광고 수익률)',
  }
];

주의: headerTooltip은 함수가 아닌 문자열만 받습니다.
동적으로 헤더 툴팁을 생성해야 한다면 Custom Header Component를 사용하세요.


5. 딜레이 설정 3종

툴팁의 표시·숨김 타이밍을 GridOptions에서 밀리초(ms) 단위로 제어합니다.

tooltipShowDelay

마우스를 셀 위에 올린 뒤 툴팁이 나타나기까지 기다리는 시간입니다.
기본값은 2000ms이며, UX 개선을 위해 300~500ms로 줄이는 경우가 많습니다.

javascript
const gridOptions = {
  tooltipShowDelay: 500,   // 0.5초 후 표시
};

tooltipSwitchShowDelay

한 셀에서 다른 셀로 빠르게 이동할 때 새 툴팁이 나타나는 딜레이입니다.
이미 툴팁이 열려 있는 상태에서는 tooltipShowDelay 대신 이 값이 사용됩니다.
기본값 200ms.

javascript
const gridOptions = {
  tooltipShowDelay: 500,
  tooltipSwitchShowDelay: 100,  // 셀 이동 시 0.1초 후 전환
};

tooltipHideDelay

마우스가 셀을 벗어난 후 툴팁이 사라지기까지 기다리는 시간입니다.
기본값 10000ms(10초). 빠르게 닫히길 원하면 줄이세요.

javascript
const gridOptions = {
  tooltipHideDelay: 2000,  // 2초 후 사라짐
};

팁: tooltipShowDelay: 0으로 설정하면 마우스를 올리는 즉시 툴팁이 나타납니다.
의도치 않은 셀 이동 시에도 계속 뜰 수 있으니 tooltipSwitchShowDelay와 함께 조정하세요.


6. tooltipShowMode

툴팁을 언제 표시할지 결정하는 모드입니다.
GridOptions에서 설정하며, 두 가지 값 중 하나를 선택합니다.

동작기본값
'whenTruncated'셀 텍스트가 잘릴 때만 툴팁 표시✅ 기본값
'always'텍스트 잘림 여부와 관계없이 항상 표시

whenTruncated (기본값)

셀 너비보다 텍스트가 길어 잘린 경우에만 툴팁이 표시됩니다.

javascript
const gridOptions = {
  tooltipShowMode: 'whenTruncated',  // 기본값 — 생략해도 동일
  tooltipShowDelay: 500,
};

always

텍스트가 잘리지 않아도 툴팁을 항상 표시합니다.
tooltipValueGetter로 부가 정보를 넣었을 때 특히 유용합니다.

javascript
const gridOptions = {
  tooltipShowMode: 'always',
  tooltipShowDelay: 400,
};

모드별 동작 비교

상황whenTruncatedalways
텍스트가 셀 안에 모두 표시됨툴팁 미표시툴팁 표시
텍스트가 잘려 일부만 보임툴팁 표시툴팁 표시
tooltipValueGetter로 추가 정보 제공잘린 경우만항상

추천 조합: 셀 내용이 짧아도 추가 정보(전체 주소, 상세 설명 등)를 보여주고 싶다면
tooltipShowMode: 'always' + tooltipValueGetter를 함께 사용하세요.


7. 전체 예제 코드

JavaScript

javascript
const columnDefs = [
  {
    field: 'athlete',
    headerName: '선수',
    tooltipField: 'athlete',           // ① 셀 값 그대로 툴팁
    headerTooltip: '선수의 전체 이름', // ② 헤더 툴팁
  },
  {
    field: 'sport',
    headerName: '종목',
    headerTooltip: '참가 스포츠 종목',
    tooltipValueGetter: (p) =>         // ③ 동적 툴팁
      `${p.data.athlete} — ${p.data.sport} (${p.data.year})`,
  },
  {
    field: 'gold',
    headerName: '금',
    headerTooltip: '금메달 획득 수',
    tooltipValueGetter: (p) =>
      `금 ${p.data.gold} · 은 ${p.data.silver} · 동 ${p.data.bronze}`,
  },
];

const gridOptions = {
  columnDefs,
  rowData,
  tooltipShowMode: 'always',        // 항상 표시
  tooltipShowDelay: 400,            // 0.4초 후 표시
  tooltipSwitchShowDelay: 100,      // 셀 이동 시 0.1초 전환
  tooltipHideDelay: 3000,           // 3초 후 숨김
};

React (TSX)

tsx
import { AgGridReact } from 'ag-grid-react';
import type { ColDef } from 'ag-grid-community';

const colDefs: ColDef[] = [
  {
    field: 'name',
    tooltipField: 'name',
    headerTooltip: '직원 이름',
  },
  {
    field: 'dept',
    tooltipValueGetter: (p) => `부서: ${p.data.deptFull}`,
  },
];

export default function MyGrid() {
  return (
    <AgGridReact
      columnDefs={colDefs}
      rowData={rowData}
      tooltipShowMode="always"
      tooltipShowDelay={400}
      tooltipSwitchShowDelay={100}
      tooltipHideDelay={3000}
    />
  );
}

8. 속성 빠른 비교표

속성위치타입기본값설명
tooltipFieldColDefstring행 데이터의 필드 값을 툴팁으로 사용
tooltipValueGetterColDeffunction함수로 동적 툴팁 문자열 반환
headerTooltipColDefstring컬럼 헤더에 툴팁 텍스트 지정
tooltipShowModeGridOptionsstring'whenTruncated''whenTruncated' | 'always'
tooltipShowDelayGridOptionsnumber2000호버 후 표시까지 딜레이(ms)
tooltipSwitchShowDelayGridOptionsnumber200툴팁 열린 상태에서 셀 이동 시 딜레이(ms)
tooltipHideDelayGridOptionsnumber10000마우스 이탈 후 숨김까지 딜레이(ms)

핵심 요약

  • tooltipField — 데이터 필드 값을 그대로 툴팁에 표시. 가장 간단.
  • tooltipValueGetter — 함수로 조건부·복합 툴팁 텍스트 생성.
  • headerTooltip — 컬럼 헤더에 설명 추가. 문자열만 가능.
  • tooltipShowMode'whenTruncated'(기본) 또는 'always'. 잘린 경우만 or 항상 표시.
  • tooltipShowDelay — 기본 2000ms, 빠른 UX를 위해 300~500ms 권장.
  • tooltipSwitchShowDelay — 셀 간 이동 시 전환 딜레이. 기본 200ms.
  • tooltipHideDelay — 기본 10000ms, 사용자 경험에 맞게 줄여 사용.

MIT 라이선스에 따라 릴리즈되었습니다.