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

그리드 셀 병합 / 멀티 헤더 설정 / 헤더 펼치고 접히는 버튼 기능에 대한 문의 > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

ReactJS 그리드 셀 병합 / 멀티 헤더 설정 / 헤더 펼치고 접히는 버튼 기능에 대한 문의

페이지 정보

작성자 토끼바람 작성일 2021-08-04 17:52 조회 5,151회 댓글 0건
제품 버전 : 5.20211.794
컨트롤 이름 : 그리드

본문

안녕하세요..

그리드관련 문의입니다.


1. 셀 병합 문의 

 - 컬럼 1의 값이 {1, 1, 2, 2, 3, 3}

   컬럼 2의 값이 {4, 4, 4, 4, 5, 6}

   컬럼 2의 값이 {7, 8, 9, 9, 9, 9}

   이렇게 되어있을때 그리드 기본 기능은

------|------|------------------------

  1    | 4     |7

       |       |8

------|       |----------

  2    |       |9

       |       |

------|------|

  3    | 5     |

       | 6     |

------|


이렇게 표현이 되는데 원하는 것은

------|------|------------------------

  1    | 4     |7

       |       |8

------| ----- |----- |

  2    | 4     |9

       | 4     |9

------|------|----- |

  3    | 5     |9

       | 6     |9

------|


위와 같이 컬럼 2의 병합이 컬럼 1의 종속이 되서  컬럼 1의 값이 달라지면 컬럼 2의 병합이 분리되는 형태로 구현이 되었으면 합니다.

기능이 제공이 되는지요? 혹은 어떻게 구현이 가능할런지 문의 드립니다. 

해당 컬럼 기준으로만 셀 병합이 아니라 앞에 컬럼에 데이터에 따라서 종속적인 셀 병합이 가능할런지요?



2. 그리드의 헤더를 멀티 설정을 json 객체를 통해서 하고 싶습니다.

 - 헤더 행 병합이나 컬럼 병합이 조회 된 데이터에 따라 json을 구성하고 그것으로 헤더를 구현할 수 있을까요?

    데이터의 셀병합을 포함하여 json으로 구성이 가능한가요?

 - 헤더 툴팁을 포함 할 수가 있는지요?



3. 버튼 클릭으로 그룹화된 헤더를 한번에 접고 펼칠수있는지요?

 - 헤더의 펼치고 접히는 기능이 있던데 버튼을 이용해서 버튼을 클릭하면 그룹 된 헤더는 다 접혔다고 다시 클릭하면

   다 펼쳐지는 기능이 가능한지요. 

   헤더를 하나 하나 클릭 하는 건 예제가 있던데 한꺼번에 버튼으로 제어가 가능한지요?


가능하시면 class가 아닌 함수형으로 가능할까요?

클래스로 되어있는것이 함수로 적용될때 변경이 안되는 부분이 있는듯합니다.



항상 답변에 감사드립니다.


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

댓글목록

등록된 댓글이 없습니다.

2 답변

ReactJS Re: 그리드 셀 병합 / 멀티 헤더 설정 / 헤더 펼치고 접히는 버튼 기능에 대한 문의

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

페이지 정보

작성자 GCK루시 작성일 2021-08-06 10:18 댓글 0건

본문

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


문의 주신 내용에 답변 드립니다.


1. 제한적 셀 병합 문의

=> 그리드의 제한적 셀 병합을 구현하기 위해서는 사용자 정의 병합 관리자를 이용하시면 됩니다. 아래 샘플은 링크의 경우, country 열에 따라 customer 셀의 값이 병합 처리되고 있으며 참고 부탁 드립니다.

예제 링크 : https://demo.grapecity.co.kr/wijmo/learn-wijmo/Grid/Merging/RestrictedMerging/react 


추가적으로 Wijmo React의 기본적인 튜토리얼 예제의 경우 클래스형 컴포넌트로 되어 있어, Wijmo 튜토리얼의 모든 예제를 일괄적으로 함수형으로 변환 드리기에는 어려움이 있습니다. 다만, 클래스형에서 함수형 컴포넌트로 변환 중에 문제가 생기신 경우, 저희 쪽으로 회신 주시면 확인 후 도와드릴 수 있도록 하겠습니다. 원하시는 답변을 드리지 못한 점 죄송합니다.



2. 그리드 헤더 정보를 json 객체로 설정 및 가져오기

=> 해당 문의는 현재 확인 중에 있으며 업데이트가 되는 대로 안내 드리도록 하겠습니다. 답변이 늦어지는 점 죄송합니다.


3. 버튼 클릭으로 그룹화된 헤더 확장 축소

=> 버튼 클릭을 통해 열 그룹을 확장/축소하기 위해서는 columnsGroup에서 그룹을 축소할 때 표시하는 하위 열의 바인딩을 포함하는 문자열인 collapseTo를 가진 열에 그룹을 처음에 축소할지 여부를 결정하는 isCollapsed 속성을 아래와 같이 추가하여 구현하실 수 있습니다.


 { header: "Perf", align: "center", collapseTo: "perf.ytd", isCollapsed: true,  (...) },


버튼을 클릭 시 collapseTo 속성을 통해 해당 열이 확장/축소를 하는 열인지 확인하고 맞다면 isCollapsed의 값을 상항 연산자로 계산 및 설정한 뒤, 그리드의 columnGroups에 새롭게 할당하면 그룹열이 한 번에 확장/축소할 수 있습니다. 아래 코드를 참조해주시길 바랍니다.


const [group, setGroup] = React.useState(DataService.getColumnGroups()); //columnGroups 데이터
 
 const onClick = () => {
    var temp = group.map((x) => {
      if (x.collapseTo) { //확장 축소하는 열이라면
        var val = x.isCollapsed ? false : true; // 축소되어 있다면 false를 아니면 true 
        x.isCollapsed = val; // 값 할당
      }
      return x;
    });
    theGrid.columnGroups = temp; //새롭게 할당
  };

(..)
  <button onClick={onClick}>클릭</button>


[columnGroups]

https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.flexgrid.html#columngroups 


도움말 문서도 같이 전달 드리오니 참고 부탁 드립니다.


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


감사합니다. 

그레이프시티 드림 


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


댓글목록

등록된 댓글이 없습니다.

ReactJS Re: 그리드 셀 병합 / 멀티 헤더 설정 / 헤더 펼치고 접히는 버튼 기능에 대한 문의

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

페이지 정보

작성자 GCK루시 작성일 2021-08-18 17:14 댓글 0건

본문

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


먼저 답변이 늦어진 점 죄송합니다.


2. 그리드의 헤더를 멀티 설정을 json 객체를 통해서 하고 싶습니다.

=> 먼저 그리드의 상태를 유지하기 위해서는 별도로 설정 및 할당해주셔야 합니다. 아래 데모의 경우, 열 순서, 정렬 및 필터링 등에 대해 JSON 형태로 로컬 저장소에 저장한 뒤, 복원해주고 있습니다. 아래 데모 링크에서 자세한 코드를 확인하실 수 있습니다.


그리드 상태 유지 데모 : https://demo.grapecity.co.kr/wijmo/learn-wijmo/Grid/PersistingState/react


columnLayout 경우, 현재 열의 레이아웃에 대한 정의를 JSON 문자열로 정의하거나 가져올 수 있는 그리드 속성 입니다. 다만, columnLayout은 바인딩, 헤더, 너비 등과 같은 열 속성 정보만 직렬화하기 때문에 셀(현재 columnHeaders 패널의 셀)에 대한 데이터 셋은 저장하지 않습니다. 헤더 병합의 정보를 얻기 위해서 columnHeader에 대해 저장 및 복원을 추가적으로 수행해주시기 바랍니다. 아래 샘플은 병합된 열 헤더에 대해 저장 및 복원을 하고 있습니다.



[columnLayout]

https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.flexgrid.html#columnlayout 


도움말 문서 또한 전달 드리오니 참고 부탁 드립니다.


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


감사합니다. 

그레이프시티 드림 


* 그레이프시티(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.