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

사이드바 숨김처리할 경우 시트 너비 자동 조절이 안됩니다. > Q&A | 토론

본문 바로가기

SpreadJS

Q&A | 토론

PureJS 사이드바 숨김처리할 경우 시트 너비 자동 조절이 안됩니다.

페이지 정보

작성자 딸기 작성일 2021-10-27 10:19 조회 1,953회 댓글 0건
제품 버전 : 14.1.6

본문

첨부파일

사이드 메뉴를 숨길경우 시트 테이블의 너비가 자동으로 늘어나지 않습니다.


현재 전자정부프레임워크 3.10을 사용중입니다.


Tiles를 사용하여 헤더 사이드 컨텐츠 푸터를 나눠서 사용중입니다.


ss 에 너비 100%를 줘도 적용되지 않습니다.


[html]

<div class="row mt-1"> <div class="col-12"> <div id="ss"></div> </div> </div>


[메뉴 토글 css]

@media (min-width: 992px) {
  #layoutSidenav #layoutSidenav_nav {
    transform: translateX(0);
  }
  #layoutSidenav #layoutSidenav_content {
    margin-left: 0;
    transition: margin 0.15s ease-in-out;
  }

  .sb-sidenav-toggled #layoutSidenav #layoutSidenav_nav {
    transform: translateX(-225px);
  }
  .sb-sidenav-toggled #layoutSidenav #layoutSidenav_content {
    margin-left: -225px;
  }
  .sb-sidenav-toggled #layoutSidenav #layoutSidenav_content:before {
    display: none;
  }
}


[메뉴 토글 javascript]

/*!
    * Start Bootstrap - SB Admin v7.0.4 (https://startbootstrap.com/template/sb-admin)
    * Copyright 2013-2021 Start Bootstrap
    * Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-sb-admin/blob/master/LICENSE)
    */
    // 
// Scripts
// 

window.addEventListener('DOMContentLoaded', event => {

    // Toggle the side navigation
    const sidebarToggle = document.body.querySelector('#sidebarToggle');
    if (sidebarToggle) {
        // Uncomment Below to persist sidebar toggle between refreshes
        // if (localStorage.getItem('sb|sidebar-toggle') === 'true') {
        //     document.body.classList.toggle('sb-sidenav-toggled');
        // }
        sidebarToggle.addEventListener('click', event => {
            event.preventDefault();
            document.body.classList.toggle('sb-sidenav-toggled');
            localStorage.setItem('sb|sidebar-toggle', document.body.classList.contains('sb-sidenav-toggled'));
        });
    }

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

댓글목록

등록된 댓글이 없습니다.

1 답변

PureJS Re: 사이드바 숨김처리할 경우 시트 너비 자동 조절이 안됩니다.

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

페이지 정보

작성자 GCK루시 작성일 2021-10-27 14:54 댓글 4건

본문

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


SpreadJS 너비를 퍼센트로 설정하신 뒤, 이벤트에 따라 너비 조절하기 위해서는 먼저 HTML 및 body의 높이를 100%로 설정해야 합니다. 그 다음 스프레드 시트의 너비를 변경한 후 refresh 메소드를 호출해주시기 바랍니다. 자세한 코드는 아래 샘플을 참고하여 주시기 바랍니다.




[refresh]

https://www.grapecity.com/spreadjs/docs/v14/online/SpreadJS~GC.Spread.Sheets.Workbook~refresh.html?highlight=refresh%2C 


도움말 문서도 같이 전달 드리며 다른 궁금한 점이 생기면, 문의 주시기 바랍니다.


감사합니다.

그레이프시티 드림


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

댓글목록

딸기님의 댓글

딸기 작성일

아래 소스코드와 같이 onload에서 생성한 fpSpread1 를 resize에서 getMethod(?)같은걸 이용해서 사용하고 싶은데 혹시 관련 method나 문서가 있나요?

window.onload = function() {

var fpSpread1 = new GC.Spread.Sheets.Workbook(
document.getElementById("ss")
);
var sheet = fpSpread1.getActiveSheet();
}

window.addEventListener('resize', function() {
var spread = get Method(?)
}, true);

GCK루시님의 댓글의 댓글

GCK루시 작성일

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

문의 주신 내용과 관련하여 SpreadJS에서 시트의 높이를 가져오는 메서드에 대한 요청이 맞으실까요? 정확한 답변을 위해 디테일한 시나리오 또는 어떤 값을 가져오기 원하시는지 확인 후, 회신 부탁 드립니다.

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

딸기님의 댓글의 댓글

딸기 작성일

Tiles를 사용하여 공통css, 공통js, 헤더, 사이드메뉴, 바디, 푸터 부분으로 구성되어있습니다.

헤더의 버튼을 누르면 사이드 메뉴가 없어졌다 생겼다 합니다.
사이드메뉴가 없어지면서 바디의 SpreadJS의 너비(width)가 자동으로 크기 조절이 되지 않아 문의를 드렸던겁니다.

답변을 받았고 참고를 하여 적용을 하려했는데 문제가 생겼습니다.

헤더의 메뉴토글 버튼을 눌렀을때 바디의 SpreadJS의 너비를 변경하려다 보니

헤더의 script에서는 바디의 spread를 찾을 수 없었습니다.

*바디의 spread는 spread = new GC.Spread.Sheets.Workbook($('#ss')[0], { sheetCount: 1 }); 입니다.

그래서 메뉴토글버튼에 spread.refresh() 를 적용할 수 없습니다.

그래서 헤더의 script에서 바디의 spread 객체를 찾으려고 관련 method가 있는지 문의 드립니다.

GCK루시님의 댓글의 댓글

GCK루시 작성일

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

해당 이슈와 관련하여 아래 코드와 같이  Workbook 인스턴스가 할당될 변수를 전역 변수로 두고 다른 스크립트 파일에서도 해당 변수를 참고할 수 있도록 설정해 보시기 바랍니다. 


//body.js
var fpSpread1

window.onload = function() {

fpSpread1 = new GC.Spread.Sheets.Workbook(
    document.getElementById("ss")
  );

  fpSpread1.refresh()

}
//header.js
window.addEventListener('resize', function() {
 console.log(fpSpread1)
}, true);



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

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