안녕하세요 메시어스입니다.
빈 데이터를 그리드에 바인딩한 경우, 첫 번째 이미지와 같이 빈 값을 가진 행들이 생성되지 않습니다. 이를 구현하기 위해서는 별도로 row를 추가한 뒤, 셀의 병합 처리 유무를 결정하는 mergeManager 속성을 설정해주셔야 합니다.
관련하여 아래 Q&A 글의 답변 글을 참고하여 주시기 바랍니다.
추가적으로 데이터 바인딩 후, mergeManger로 인해 동일한 값의 병합 처리를 방지하고 싶으시다면 사용자 정의한 mergeManger 이전에 정의된 mergeManger를 재할당하여 병합처리를 제한하도록 코드를 추가하여 주시기 바랍니다.
const App = function (prop) {
const grid = React.useRef(null);
let originalMergeManager;
const initializedGrid = useEvent((flex) => {
grid.current = flex;
(...)
originalMergeManager = flex.mergeManager; // 기존 mergeManager 저장
flex.mergeManager = new CustomMergeManager(); //사용자 정의 mergeManager
flex.select(-1, 0);
});
const addData = () => {
grid.current.itemsSource = data; // 데이터 바인딩
grid.current.mergeManager = originalMergeManager; //기존 mergeManager 할당
};
return (
<div>
<button onClick={addData}>데이터 추가</button>
다른 궁금한 점이 생기면 문의주시기 바랍니다.
감사합니다.
메시어스 드림