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

Front에서 ScrollTo Script 함수 사용시 문제 > Q&A | 토론

본문 바로가기

ASP.NET Webform웹폼 Front에서 ScrollTo Script 함수 사용시 문제

페이지 정보

작성자 온준성 작성일 2022-07-01 18:55 조회 1,045회 댓글 0건
제품 버전 : Spread.Net v15
컨트롤 이름 : Client-Side ScrollTo Script 함수

본문

현재 개발하고 있는 프로그램에서 스프레드 데이터 변경을 위해 Front에서 CallBack으로 서버를 호출하여 서버에서

데이터 변경을 완료하고 WebPage에서 스프레드가 다시 그려질때, 스프레드의 활성 Cell과는 무관하게 스크롤위치가 [0, 0]으로 이동되고있습니다.

그래서 CallBackStoped에서 ScrollTo 함수를 사용하여 스크롤 위치를 다시 활성Cell로 이동시키려고 합니다.


그리나, ColumnCount = 100, RowCount = 100인 스프레드가 있고 현재 Cell[99, 99]이 활성화되어있다고 가정하고

아래 Javascript를 수행하면,

function mf_Spd1CallBackStopped(event) {
            switch (event.command) {
                case 'FpSpread1_RunSelectDetail':
                    cb_SelectDetail();

                    lvo_Spd1.ScrollTo(lvo_Spd1.GetActiveRow(), lvo_Spd1.GetActiveCol());
                    break;
            }
        }

해당 ActiveColumn으로는 스크롤이 이동이 되나, ActiveRow으로는 이동이 되지 않습니다.



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

댓글목록

등록된 댓글이 없습니다.

3 답변

ASP.NET Webform웹폼 Re: Front에서 ScrollTo Script 함수 사용시 문제

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

페이지 정보

작성자 GCK써니 작성일 2022-07-05 17:55 댓글 0건

본문

온준성 님, 안녕하세요.

그레이프시티입니다.


문의주신 내용에 대하여 개발팀과 확인한 결과, ScrollTo API는 일정 시간(100ms) 동안 scrollbar의 상태를 저장하기 위한 내부 로직을 가지고 있기 때문에, 포스트백 동작을 호출하면 스크롤바 상태가 올바르게 저장/로드되지 않는다고 합니다.


사용하신 'FpSpread1_RunSelectDetail' 처리 명령어에 대한 전체 소스를 확인할 수 없어, 아래와 같은 샘플 소스코드를 전달드립니다. mf_Spread1CallBackStooped 메소드를 다음과 같이 수정하신 후, 스크롤바가 원하는 위치로 이동하는지 확인 부탁드립니다.

window.onload = function (e) {
      var spread1 = document.getElementById("<%=FpSpread1.ClientID %>");
      if (document.all) {
        // IE
        if (spread1.addEventListener) {
          // IE9
          spread1.addEventListener("CallBackStart", CallBackStart, false);
          spread1.addEventListener("CallBackStopped", mf_Spd1CallBackStopped, false);
          spread1.addEventListener("ActiveCellChanged", cellChanged, false);
        } else {
          // Other versions of IE and IE9 quirks mode (no doctype set)
          spread1.onCallBackStart = CallBackStart;
          spread1.onCallBackStopped = mf_Spd1CallBackStopped;
          spread1.onActiveCellChanged = cellChanged;
        }
      }
      else {
        // Firefox
        spread1.addEventListener("CallBackStart", CallBackStart, false);
        spread1.addEventListener("CallBackStopped", mf_Spd1CallBackStopped, false);
        spread1.addEventListener("ActiveCellChanged", cellChanged, false);
      }
    }

    function cellChanged(event) {
      console.log("ActiveCellChanged: r = " + event.row + ", c = " + event.col);
    }
    
    function CallBackStart(event) {
      if (event == null) event = window.event;
      //console.log("CallBackStart");
    }

    function mf_Spd1CallBackStopped(event) {
      var spread1 = document.getElementById("<%=FpSpread1.ClientID %>");     
      var r = spread1.GetActiveRow();
      var c = spread1.GetActiveCol();
      console.log("");
      console.log('CallBackStopped: Active row - ' + r + ', col = ' + c)
      spread1.ScrollTo(r, c);
      //switch (event.command) {
      //  case 'FpSpread1_RunSelectDetail':
      //    //cb_SelectDetail();
      //    spread1.ScrollTo(
_Spd1.GetActiveRow(), lvo_Spd1.GetActiveCol()); // break; //} }

59c11ec964d368886f07dc9c3457de55_1657011093_0684.gif
 


추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

ASP.NET Webform웹폼 Re: Front에서 ScrollTo Script 함수 사용시 문제

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

페이지 정보

작성자 온준성 작성일 2022-07-06 09:54 댓글 0건

본문

답변 주신 내용으로 소스 검토하고 테스트하는 과정에서 원인을 찾았습니다.

원인은 브라우저였습니다.

지금 프로젝트는 크롬/엣지 브라우저에서 구동되도록 개발중입니다.

IE에서는 원하는 스크롤이동이 되는데, 크롬/엣지에서는 행에 대한 스크롤이동이 되지 않습니다.


ScrollTo API는 크롬/엣지 브라우저에 호환되지 않는건가요??

댓글목록

등록된 댓글이 없습니다.

ASP.NET Webform웹폼 Re: Front에서 ScrollTo Script 함수 사용시 문제

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

페이지 정보

작성자 GCK써니 작성일 2022-07-06 11:11 댓글 1건

본문

온준성 님, 안녕하세요.

그레이프시티입니다.


Spread ASP.NET은 크롬과 엣지 브라우저를 지원하며, 이는 ScrollTo API도 마찬가지입니다.

작일 공유드린 샘플 코드는 크롬에서 동작되는 코드입니다.


IE에서는 동작하나 크롬과 엣지에서는 ScrollTo API가 동작하지 않는 현상을 확인해볼 수 있도록, 저희 편에서 바로 재현 가능한 샘플 프로젝트를 공유해주실 수 있으실까요? 해당 샘플을 공유해주시면 개발팀과 함께 확인 후 안내드릴 수 있도록 하겠습니다.


감사합니다.

그레이프시티 드림

댓글목록

GCK써니님의 댓글

GCK써니 작성일

온준성 님, 안녕하세요.
그레이프시티입니다.

해당 문의는 더 이상 진행이 되지 않아 종료됩니다.
추가로 궁금하신 사항은 새로 글을 작성하여 주시기 바랍니다.

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

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