! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

그리드에 바인딩하지 않는 데이터를 이용한 조건부 랜더링 문의 > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

ReactJS 그리드에 바인딩하지 않는 데이터를 이용한 조건부 랜더링 문의

페이지 정보

작성자 토끼바람 작성일 2021-08-11 14:36 조회 3,111회 댓글 1건
제품 버전 : 5.20211.794
컨트롤 이름 : FlexGrid

본문

https://demo.grapecity.co.kr/wijmo/learn-wijmo/Grid/CustomCells/ConditionalStyling/purejs 

이 샘플을 보고 진행을 하고있는데. 문제는 비교하는 값이 바인딩하지 않는 경우 컬럼을 찾을 수 없기 때문에

에러가 나고 혹은 sender에 item으로 했을 경우에는 정렬이 되었을때 실제 값이 설정되야 하는 행과

데이터의 행이 달라서 제대로 동작하지 않고 있습니다.


예) [ {a : 1, b: 2 , c: 'red'}

      , {a : 8, b: 9 , c: 'green'}

      , {a : 80, b: 90 , c: 'black'}

      , {a : 70, b: 60 , c: 'black'}

    ]

원하는 결과

-------------------------

 a       b

------------------------   

-1      -2

 8       9

 80      90

 70      60


1. 이렇게 되었을 경우  그리드에는 a, b 컬럼이 있지만 c라는 컬럼이 없어서 위에 예저 처럼 동작하지 않습니다.

어떻게 구현이 되야 하는지 혹은 정렬에 따라 변경되는 행의 위치를 어떻게 찾을 수 있는지 문의합니다.


2. 위에서 처럼 c의 값이 red 라고 판단이 되어 해당 데이터의 값을  * -1 처럼 원래 데이터가 아니라 

  데이터를 변경하여 표시도 가능 한지 문의합니다.


감사합니다.


  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

삭제된 댓글

토끼바람 작성일

삭제된 댓글 입니다.

1 답변

ReactJS Re: 그리드에 바인딩하지 않는 데이터를 이용한 조건부 랜더링 문의

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 GCK루시 작성일 2021-08-11 17:16 댓글 1건

본문

안녕하세요 그레이프시티입니다.


문의에 대한 답변을 드립니다.


1. 이렇게 되었을 경우  그리드에는 a, b 컬럼이 있지만 c라는 컬럼이 없어서 위에 예저 처럼 동작하지 않습니다. 어떻게 구현이 되야 하는지 혹은 정렬에 따라 변경되는 행의 위치를 어떻게 찾을 수 있는지 문의합니다.

=> 해당 문의의 경우, formatItem 이벤트 내에서 그리드의 row의 dataItem을 통해 행의 값을 가져올 수 있습니다. dataItem은 항목이 바인딩된 데이터 컬랙션의 아이템을 가져오거나 설정할 수 있는 속성으로 그리드 행에 대한 정보를 가져올 수 있습니다. 아래 코드를 참고하시길 바랍니다.


if (e.panel == s.cells) {
      let col = s.columns[e.col];
     if(col.binding ==="sales"){
        if(s.rows[e.row].dataItem.color=== "Red"){
          grid.setCellData(e.row,e.col,"-1")
          wijmo.addClass(e.cell,"wj-red")
        }
}     

위 코드는 sales 열에 바인딩된 셀에 대해서 해당 행의 dataItem의 color 값이 red인 경우를 체크하는 코드입니다.


dataItem : https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.row.html#dataitem




2. 위에서 처럼 color의 값이 red 라고 판단이 되어 해당 데이터의 값을  * -1 처럼 원래 데이터가 아니라 데이터를 변경하여 표시도 가능 한지 문의합니다.

=> 기능을 구현하기 위해서 dataItem을 통해 값을 체크 후,setCellData로 값을 지정해주시길 바랍니다. 추가적으로 addClass를 이용하여 셀에 클래스(위 코드의 경우, wj-red)를 설정하여 배경색을 지정할 수 있으니 참고하시길 바랍니다.


다른 궁금한 점이 생기면, 문의 주시기 바랍니다. 


감사합니다. 

그레이프시티 드림 


* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.

댓글목록

삭제된 댓글

토끼바람 작성일

삭제된 댓글 입니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.