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

header merge이후 cell의 row를 merge했을때... > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

프로그래밍개발 header merge이후 cell의 row를 merge했을때...

페이지 정보

작성자 erouse 작성일 2020-10-26 15:41 조회 3,758회 댓글 0건

본문

첨부파일

header의 merge가 깨집니다.

아니 어떻게 한번도 제대로 된 답을 제공하지 않습니까?

상상코딩말고 실제로 되는지 확인좀 부탁드립니다.

왠만해야 말을않지..........

안되면 그냥 답변 보내지 말아주세요.

찾아보고 안되면 여러가지로 열받으니깐



header.................


//헤더2단

function updateHeaders2()

{

//그리드명 지정

  var flex = $scope.wijmoGrid;

  

  if (flex) {

// insert new row if not yet

if (flex.columnHeaders.rows.length === 1) {

flex.columnHeaders.rows.insert(0, new wijmo.grid.Row());

}

var row = flex.columnHeaders.rows[0];

row.allowMerging = true;


// set headings so the cells merge

for (var i = 0; i < flex.columns.length; i++) {

var hdr = '';

switch (flex.columns[i].binding) {

  case 'DTPT_CD_NM':

hdr = '상품명';

break;

  case 'GRP_VIEW':

hdr = '소속';

break;

  case 'EDUCNT':

hdr = '교육진행중';

break;

  case 'INGCNT_15':

hdr = '재직';

break;

  case 'INGCNT_10':

hdr = '재직';

break;

  case 'INGCNT':

hdr = '재직';

break;

  case 'SPYCNT_15':

hdr = '휴직';

break;

  case 'SPYCNT_10':

hdr = '휴직';

break;

  case 'SPYCNT':

hdr = '휴직';

break;

  case 'TOT_15':

hdr = '총';

break;

  case 'TOT_10':

hdr = '총';

break;

  case 'TOT':

hdr = '총';

break;

  case 'STPCNT_15':

hdr = '퇴사관리';

break;

  case 'STPCNT_10':

hdr = '퇴사관리';

break;

  case 'STPCNT':

hdr = '퇴사관리';

break;

  case 'STPCNT7':

hdr = '7차월관리';

break;

  case 'TOTCNT7':

hdr = '7차월관리';

break;

  case 'RYL7':

hdr = '7차월관리';

break;

}

flex.columnHeaders.setCellData(0, i, hdr);

flex.columnHeaders.columns[i].allowMerging = true;

}

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


조회후 cell merge.............




function mergeColumn(flex) {

           

           

            /*for(var i=0; i<flex.rows.length;i++){

            flex.rows[i].allowMerging = true;

            }*/

                var mrgRng = [], count = 0;

                var mrgClRng = [];

                

                // for loop for getting range for merging column

                for (var i = 0; i < flex.rows.length - 1; i++) {

                    

                    if (flex.rows[i].dataItem.DTPT_CD_NM == flex.rows[i + 1].dataItem.DTPT_CD_NM) {

                        count++;

                        var isContain = false;

                        for (var j = 0; j < mrgRng.length; j++) {

                            if (mrgRng[j].DTPT_CD_NM == flex.rows[i].dataItem.DTPT_CD_NM) {

                                mrgRng[j].count = count;

                                isContain = true;

                            }

                        }

                        if (!isContain) {

                            mrgRng.push({ row1: i, DTPT_CD_NM: flex.rows[i].dataItem.DTPT_CD_NM, count: count });

                        }


                    }

                    else {

                        count = 0;

                    }


                    if ( gfn_nvl(flex.rows[i].dataItem.RNUM) =="2" || gfn_nvl(flex.rows[i].dataItem.RNUM) =="3" ) {

                    flex.rows[i].cssClass = 'phoverRow';

                    clRng = new wijmo.grid.CellRange(i, 1, i, 1);

                    mrgClRng.push(clRng);

                    }

                }


                // creating cell range based on mergernage

                

                for (var i = 0; i < mrgRng.length; i++) {

                    var mergeMngr = new wijmo.grid.MergeManager(flex),

                    clRng = new wijmo.grid.CellRange(mrgRng[i].row1, 0, mrgRng[i].row1 + mrgRng[i].count, 0);

                    mrgClRng.push(clRng);

                }

                

            // calling custom merge manager

                mergeMngr.getMergedRange = function (panel, r, c) {

                    if (panel.cellType == wijmo.grid.CellType.Cell) {

                        for (var i = 0; i < mrgClRng.length; i++) {

                            if (r >= 0 && mrgClRng[i].contains(r, c)) {

                                return mrgClRng[i];

                            }

                        }

                    }

                    

                

                    return null;

                };

                

                

                flex.mergeManager = mergeMngr;

                

                //전체 수료 인원 색상 변경

                    flex.rows[flex.rows.length-1].cssClass = 'choverRow';

                clRng = new wijmo.grid.CellRange(flex.rows.length-1, 0, flex.rows.length-1, 1);

                mrgClRng.push(clRng);

               

               

               

                //$scope.wijmoGrid.refresh();

               

            }

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


[이 게시물은 GrapeCity님에 의해 2021-11-18 15:30:45 시티즌 지식인에서 이동 됨]
  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

프로그래밍개발 Re: header merge이후 cell의 row를 merge했을때...

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

페이지 정보

작성자 GCK루시 작성일 2020-10-28 14:13 댓글 0건

본문

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

먼저 이전 답변들에 대해 해결되지 않은 사항이 있으셨다면 죄송합니다. 

 

문의 사항들과 관련해서 일반적으로 저희 편에서 코드를 확인하고 구현해본 뒤, 기능에 대해서 답변을 드리는데 다만 현재 문의 주신 사항에 대해서는 공유해주신 코드만으로는 확인이 어려운 사항입니다. 저희 편으로 재현하고 디버깅할 수 있도록 현상이 나타내는 샘플을 공유해주실 수 있으실까요?  

여러 변수가 있을 수 있고 더 정확한 확인을 하기 위해 js 파일뿐만 아니라 저희 쪽으로 html 파일과 함께 샘플을 공유해주신다면 감사하겠습니다. 공유해주신 샘플을 토대로 더 정확하고 빠르게 문제 파악 후, 해결할 수 있도록 도와드리도록 하겠습니다. 


다시 한 번 이전에 불편하신 점이 있으셨다면 사과 드립니다. 



감사합니다.


그레이프시티 드림


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

[이 게시물은 GrapeCity님에 의해 2021-11-18 15:30:45 시티즌 지식인에서 이동 됨]

댓글목록

등록된 댓글이 없습니다.

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