๊ทธ๋ฆฌ๋ ํน์ ์ ์ ์ด๋ ๊ฒ ๋๋กญ๋ฐ์ค๋ก ๋ณํ์์ผ ์ ํํ ์ ์๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ!
https://www.ag-grid.com/react-data-grid/cell-editors/
React Data Grid: Cell Editors
A Cell Editor Component is the UI that appears, normally inside the Cell, that takes care of the Edit operation. Download v28 of the best React Data Grid in the world now.
www.ag-grid.com
ag grid์์ ์ค๋ช ํด์ฃผ๋ ๊ฑฐ ๋ฐ๋ผํ๋ฉด ์ ๋๋ค
์ค์ (setting) | ๊ฐ (value) |
์ ํ | Finte |
const cellEditorSelector = (params: { data: { setting: string } }) => {
if (params.data.setting === 'type') {
return {
component: 'agSelectCellEditor',
params: { values: ['Finite', 'Infinite'] },
popup: true
};
return undefined;
};
์ค์ (์ด)์ ์ ํ(type)์ด๋ผ๊ณ ๋์ด์๋ ํ ๋ถ๋ถ์ ๊ฐ์ ๋๋กญ๋ฐ์ค๋ฅผ ๋ฃ๊ณ ์ถ์ ๋, ์ด๋ ๊ฒ ์ฐ๋ฉด ๋๋ค.
์ด๋ ๊ฐ์ด Finite, Infinite๋ก ๋ค์ด๊ฐ์ผํ๋๋ฐ ๋ณด์ฌ์ง๋ ๊ฑด ์ ํ, ๋ฌดํ์ผ๋ก ๋ณด์ฌ์ง๊ณ ์ถ์ผ๋ฉด valueFormatter์ ์ฐ๋ฉด ๋๋ค.
์ฒ์์ cellEditorSelector key, value ์ด๋ ๊ฒ ๊ฒ์๋ ํด๋ดค๋๋ฐ ์ ๋์ด..
values ๋ค์ keys : ['๋ฌดํ','์ ํ'] ๋ ์จ๋ดค์ง๋ง ๋จน์ง ์์์.
์๋ ์ ์น๊ณ ๊ทธ๋ฅ valueFormatter ์จ๋ดค๋๋ฐ ๋๋ฌด ์ ๋๋ค..
const arrTypeList = [
{ eng: 'Finite', kor: '์ ํ' },
{ eng: 'Infinite', kor: '๋ฌดํ' }
];
const korFormatter = (params: ValueFormatterParams) => {
const name = arrTypeList?.find((element) => element.eng === params.value);
return name?.kor;
};
const columnDefs = [
{ headerName: '์ค์ ', field: 'setting', cellStyle: { textAlign: 'left' } },
{
headerName: '๊ฐ',
field: 'value',
cellStyle: { textAlign: 'left' },
editable: true,
cellEditorSelector,
valueFormatter: korFormatter
},
๋~~
โป ๋ฌธ์ ์
์ฌ๋ฌ ์ ๋๋กญ๋ฐ์ค ์ค์ ์.. Formatter ์์์๋ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋๋์ด ์ค์ผ ํ๋๋ฐ..
if๋ฌธ ์ฐ๋ ์๊ฐ ๋๋กญ ๋ฒํผ ๋๋ฅด๋ฉด Formatter๊ฐ ๋ค ํ๋ ค๋ฒ๋ฆฐ๋ค..
์๋ฒฝํ ๋ฐฉ๋ฒ์ด ์๋๋ค :(