안녕하세요. 그레이프시티입니다.
문의 주신 사항에 대해 답변 드리도록 하겠습니다.
또한 문의 하단에 샘플 링크를 첨부하였으니 확인하여 주시기 바랍니다!
1. FlexGrid에서 그리드에 데이터가 수정되었는지 상태를 알수 있는 방법
- 수정되었을 경우 그리드에 표시를 할 목적
=> FlexGrid의 cellEditEnding 이벤트를 통해 수정되기 이전 값과 비교하여 수정이 되었다면 행의 cssClass라는 속성을 통해 클래스 이름을 할당해줄 수 있습니다. 이를 통해 데이터가 수정된 행의 경우, 별도의 Class를 가지고 있으므로 CSS를 설정해주신다면 수정된 데이터를 사용자 지정하여 표시할 수 있게 됩니다.
[cssClass]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.row.html#cssclass
2. 수정이 되었다면 수정 전 데이터를 알 수 있나요?
=> 위와 언급했듯이 cellEditEnding 이벤트를 통해 데이터를 파악할 수 있습니다.
cellEditEnding 이벤트는 셀 이벤트가 끝나는 시점에서 발생되는 이벤트로 유효성 검사를 도와주는 이벤트이기도 합니다. cellEditEnding 이벤트에서 수정하기 전 값을 getCellData 메서드를 통해 행과 열의 인덱스를 넣어 가져올 수 있습니다.
[cellEditEnding]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.flexgrid.html#celleditending
3. 서버에 저장 시 수정된 레코드만 전송하기 위해 Row item을 추출하는 방법
=> 이는 Wijmo의 CollecitonView의 trackChanges라는 속성을 true로 설정하면 수정, 추가, 삭제된 아이템들을 업데이트하고 정보들을 가져올 수 있습니다.
[trackChanges]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo.collectionview.html#trackchanges
[itemsEdited]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo.collectionview.html#itemsedited
4. 삭제 시 삭제된 row item을 알 수 있는 방법
- 삭제된 데이터를 알 수 있는 방법이 없어 삭제 전 Row 정보를 임시 객체에 저장을 할까 생각하는데 위즈모에서 제공되는 방법이 있을 거 같아서요.
=> 이 또한 CollecitonView의 trackChanges라는 속성을 true로 지정하시고 collectionView의 itemsRemoved를 통해 삭제된 데이터들에 대한 정보를 배열로 가져오실 수 있습니다. 샘플에서 행을 선택한 후, backspace 키를 눌러 행을 지운 후, 아래 그리드에 삭제된 데이터가 나오는지 확인하여 주시기 바랍니다.
[itemsRemoved]
https://demo.grapecity.co.kr/wijmo/api/classes/wijmo.collectionview.html#itemsremoved
5. FlexGrid에서 Row번호 자동 생성하는 속성이 있나요? 생성된다면 번호가 순방향, 역방향 설정은 가능한가요?
=> 현재 이 문의와 관련해서 확인 중에 있으며 확인되는 대로 최대한 빠르게 답변 드리도록 하겠습니다. 답변이 늦어지는 점에 대해 죄송합니다.
[샘플 링크]
https://codepen.io/GrapeCity-Korea/pen/zYBZgVj
샘플링크와 각각 도움말 링크를 함께 전달드리오니 확인하여 주시기 바랍니다.
다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림
* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.