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

FlexGrid 사용자 정의 병합으로 row header 병합시 > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

VueJS FlexGrid 사용자 정의 병합으로 row header 병합시

페이지 정보

작성자 mnmn 작성일 2022-03-15 16:33 조회 2,675회 댓글 0건
제품 버전 : 5.20211.781
컨트롤 이름 : CustomMergeManager

본문

안녕하세요.

row header를 병합 하기 위해 CustomMergeManager를 사용하는데, row header의 값이 빈칸일 경우에는 merge 시키지 않게 할 수 있을까요?


 

사진에서 노란색 부분이 현재 합쳐져 있는데, 합쳐지지 않게 하고 싶습니다.


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

댓글목록

등록된 댓글이 없습니다.

2 답변

VueJS Re: FlexGrid 사용자 정의 병합으로 row header 병합시

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

페이지 정보

작성자 GCK루시 작성일 2022-03-16 13:45 댓글 3건

본문

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


문의 주신 기능을 구현하기 위해서는 병합할 범위 처리에 대한 반복문 내에서 셀 값이 빈 값인 경우를 체크 하시면 됩니다. 아래 코드와 같이 셀 값이 빈 값인 경웨 break를 걸어두면 빈 값을 가진 셀은 병합 처리가 되지 않는 것을 확인하실 수 있습니다.

 if (p.getCellData(i, rng.col, true) === "") break;

샘플도 같이 공유 드리오니 자세한 코드는 아래 샘플에서 확인하여 주시기 바랍니다.



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


감사합니다. 

그레이프시티 드림


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

댓글목록

mnmn님의 댓글

mnmn 작성일

감사합니다. 해당 문제는 알려 주신 대로 해결했습니다.


그런데 다른 문제가 생겼습니다.


ac4b2b4e233455e2a2cdb99c80d893bf_1647408748_8835.PNG
헤더의 윗부분 '작업명', '산출물' 부분이 합쳐져야 되는데 쪼개져 버렸습니다..

합칠 방법이 있을까요..?

mnmn님의 댓글

mnmn 작성일

안녕하세요. 저희 코드에서 사용자 정의 병합을 쓰고있는데요, 

CustomMergeManager.prototype.getMergedRange = function(p, r, c, clip)

이쪽 함수 안에 로그를 찍어보면 계속 무한으로 호출되고 있습니다..

위에서 주신 코드 안에서도 로그를 찍어보니 계속 호출되더라구요.
해당 문제를 해결할 수 있는 방법이 있나요?

GCK루시님의 댓글의 댓글

GCK루시 작성일

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

문의 주신 내용의 경우, 그리드의 크기가 변경이 되거나 업데이트 될 때, 새롭게 렌더링을 하는 과정에서 발생되며 이는 디자인된 동작입니다. 이와 관련하여 별도로 이슈가 있으신 경우, 원활한 진행을 위해 새로운 Q&A 글을 등록하여 문의 주시면 감사 드리겠습니다.

감사합니다.
그레이프시티 드림 

VueJS Re: FlexGrid 사용자 정의 병합으로 row header 병합시

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

페이지 정보

작성자 GCK루시 작성일 2022-03-16 16:56 댓글 1건

본문

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


먼저, 공유 드린 샘플의 경우, rowHeader 영역과 수직 병합만 처리하는 코드로, 해당 이슈를 해결 하기 위해서 아래 사항을 확인하여 주시기 바랍니다.

1. 병합 범위에 대해서 아래 코드와 같이 rowHeader 영역만 확인하고 있는지 체크 부탁 드립니다.

RowHeader 이외에 다른 영역에 대해서도 병합 처리가 가능하도록 조건을 수정해 주시기 바랍니다.

아래는 RowHeader 영역만 체크하는 코드이오니 해당 코드 영역을 참고하시기 바랍니다.

 if (p.cellType == wjGrid.CellType.RowHeader) { //셀 유형이 RowHeader이라면

그리드 셀 영역과 관련하여 아래 도움말 문서를 공유 드립니다.

- CellType enumeration : https://demo.grapecity.co.kr/wijmo/api/enums/wijmo_grid.celltype.html


2. 수직 병합 처리 뿐만 아니라 수평 병합 처리를 위한 코드를 추가 하시기 바랍니다.

기존 수직 병합 처리 코드와 함께 아래 수평 병합 처리 코드를 설정하신 후, 확인 부탁 드립니다.

// expand left/right start
for (var i = rng.col; i < p.columns.length - 1; i++) {
        if (p.getCellData(rng.row, i, true) === "") break;
        if (
          p.getCellData(rng.row, i, true) != p.getCellData(rng.row, i + 1, true)
        )
          break;
        rng.col2 = i + 1;
      }
//
      for (var i = rng.col; i > 0; i--) {
        if (p.getCellData(rng.row, i, true) === "") break;
        if (
          p.getCellData(rng.row, i, true) != p.getCellData(rng.row, i - 1, true)
        )
          break;
        rng.col = i - 1;
      }

// expand left/right end

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


감사합니다. 

그레이프시티 드림


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