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

상속시 스프레드 시트 초기화 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 상속시 스프레드 시트 초기화

페이지 정보

작성자 fesqase 작성일 2024-03-14 12:00 조회 55회 댓글 0건
제품 버전 : 16.2.20231.0
컨트롤 이름 : 스프레드시트

본문

첨부파일

화면 상속할 때 스프레드시트는 초기화가 되어서 작성이 되는데 어떻게 하면 상속 받는 화면에서도 스프레드시트 설정값을 받을 수 있을까요?


샘플 프로젝트 파일 올려 드립니다.


form1이 form2를 상속받아 사용 하는데 


form2의 스프레드시트 설정값이 form1에는 적용이 안됨.

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

댓글목록

등록된 댓글이 없습니다.

4 답변

WinForms윈폼 Re: 상속시 스프레드 시트 초기화

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-15 15:35 댓글 0건

본문

fesqase 님, 안녕하세요.

메시어스입니다.


참고할 수 있는 샘플 프로젝트를 공유해주심에 감사드립니다.


다만, 첨부해주신 샘플 프로젝트를 실행해봤을 때에는, Form2에 설정한 샘플 데이터(A1:A3에 각각 1, 2, 3 입력) 및 행 개수 등의 설정이 정상적으로 Form1에서도 보여지는 것으로 확인됩니다. 혹시 해당 설정 이외에 다른 설정이 적용되었는데 Form1으로 상속이 되지 않는 것일까요?


만약 그렇다면, 어떤 속성을 적용하였고 유지되지 않는지 말씀해주시면, 관련 내용 확인 후 회신드리겠습니다.


또는 Form2에 추가된 스프레드의 설정을 복사하여, Form1이 초기화 될 때 Form1의 스프레드에 적용하는 방식을 사용해보실 수 있을 듯합니다.

아래 샘플 코드를 참고 부탁드립니다.

// Form1에 존재하는 FpSpread 가져오기 및 초기화
FarPoint.Win.Spread.FpSpread form1_fpSpread = (FarPoint.Win.Spread.FpSpread)this.Controls["fpSpread1"];
form1_fpSpread.Reset();

// Form2에 존재하는 FpSpread 가져오기
Form2 form2 = new Form2();
FarPoint.Win.Spread.FpSpread form2_fpSpread = (FarPoint.Win.Spread.FpSpread)form2.Controls["fpSpread1"];

// Form2에 존재하는 스프레드의 컨텐츠를 메모리스트림에 저장, 저장된 내용을 form1의 스프레드에서 오픈
System.IO.MemoryStream memory = new System.IO.MemoryStream();
form2_fpSpread.Save(memory, false);
memory.Seek(0, System.IO.SeekOrigin.Begin);
form1_fpSpread.Open(memory);
memory.Dispose();


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 상속시 스프레드 시트 초기화

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

페이지 정보

작성자 fesqase 작성일 2024-03-15 15:52 댓글 1건

본문

0e0358fdac3b5a6f568ed365b71189e2_1710485408_5233.png
0e0358fdac3b5a6f568ed365b71189e2_1710485422_3764.png
 

form2에서 form1로 상속받았는데 디자이너에서는 적용이 안됩니다.


그리고 이전버전에서 디자인소스에 시트의 cell 속성이 작성이 되었는데 16버전에서는 리소스에 작성이 되는거같은데 디자인 소스에 작성하게 하는 속성이 있는걸까요??

댓글목록

MESCIUS써니님의 댓글

MESCIUS써니 작성일

fesqase 님, 안녕하세요.
이미지를 공유해주심에 감사드립니다.

문의하신 내용에 대하여 확인 중입니다.
관련 내용이 업데이트 되는 대로 안내드리겠습니다.

감사합니다.
메시어스 드림

WinForms윈폼 Re: 상속시 스프레드 시트 초기화

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-19 15:16 댓글 0건

본문

fesqase 님, 안녕하세요.

메시어스입니다.


Form2를 상속받은 Form1을 디자인 보기로 열었을 때, FpSpread 컨트롤이 초기화 된 상태로 보이는 현상에 대하여 개발팀과 확인 중에 있습니다.

관련 내용이 업데이트 되는 대로 안내 드리겠습니다.


추가로 문의하신 Spread Designer에서 적용한 설정이 작성되는 위치에 대하여 안내 드립니다.


Spread.NET 12버전에서 Spread의 Style 모델에 한 차례 큰 개편이 있었습니다.

12버전 이상부터는 플랫 스타일 시스템 적용되며, 말씀하신 것처럼, Spread Designer에서 설정한 내용이 Form.Designer.cs 파일이 아닌 내장된 리소스에 저장이 됩니다.


만약 현재 사용하시는 16버전에서 Form.Designer.cs 파일에 해당 설정을 저장하고 싶으신 경우, LegacyBehaviors.Style 속성을 설정하여 복합 스타일 시스템을 사용해야 합니다.


해당 속성은 [Spread Designer 우측 속성 패널 - Spread - LegacyBehaviors - Style 체크박스 체크 설정]을 통해 설정하실 수 있습니다.


아래 이미지를 참고 부탁드립니다.

3a3bd5ff6be1ad3a374783e4ac0468b1_1710828907_3345.png


감사합니다.

메시어스 드림
 

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 상속시 스프레드 시트 초기화

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-25 14:24 댓글 0건

본문

fesqase 님, 안녕하세요. 

메시어스입니다.


먼저, 기다려주심에 감사드립니다.


문의하신 현상이 저희 측에서도 재현이 되었으며, 본사 개발팀과 빠르게 협의하여 픽스된 사항을 Spread.NET V17 Nightly 릴리즈 버전에 우선 반영하였습니다. 급하게 해결이 필요하신 경우 아래 링크를 통해 설치파일을 다운로드 받아 사용해주시기 바랍니다.


- Spread.NET V17.0.20242.0 (Nightly 릴리즈) 설치파일 다운로드


해당 버전은 Nightly 버전이며, 정식 핫픽스 버전은 4월 말에서 5월 초에 예정되어있습니다. 정확한 일정은 확정되는 대로 다시 한 번 안내 드리고, 설치파일을 재전달 드리도록 하겠습니다. 정식 핫픽스 버전 출시 후 해당 버전 DLL로 변경하여 사용해주시길 권장 드립니다.


자세한 원인 및 해결방안은 하기 내용을 확인 부탁드립니다.



[ 원인 ]


디자인 타임에서 자식 폼을 보았을 때, 자식 폼의 FpSpread가 부모 폼의 FpSpread와 같이 보여지려면, 부모 폼에서 Spread Designer를 통해 설정한 내용이 Form.Designer.cs 파일에 저장이 되어야 합니다. 


앞서 안내 드렸던 것처럼 Spread.NET V12부터 Style 모델이 크게 변경되어 Spread Designer의 설정이 더 이상 Form.Designer.cs 파일에 저장되지 않고 내장된 리소스에 저장이 됩니다. 따라서, 원하시는 것과 같이 동작을 하려면 Spread.NET V12 이전의 Style 모델을 사용하도록 설정해야 합니다. 즉, 부모 폼의 FpSpread 컨트롤에 LegacyBehaviors.Style 속성을 설정해야 합니다. 


다만, 자식 폼을 생성할 때 해당 속성이 전달되지 않는 현상이 발생하였고, 개발팀에서 픽스하여 앞서 안내 드린 것과 같이 Nightly 버전에 우선 반영해둔 상황입니다.



[ 해결 방안 ] 


Spread.NET 버전을 Spread.NET V17의 핫픽스 버전으로 업그레이드 합니다. 현재 Spread.NET V16 New License를 구매하여 사용 중이실 경우, Spread.NET V17까지 무상 업그레이드 하여 사용하실 수 있습니다. 


이후 부모 폼의 FpSpread 컨트롤에 데이터 설정 등을 하기 전에, FpSpread의 LegacyBehaviors.Style 속성을 적용합니다. 이를 통해 구 버전 스타일 모델을 사용하도록 설정할 수 있습니다.


 보다 상세한 단계는 다음과 같습니다.

  1. 부모 폼에 FpSpread 컨트롤을 추가합니다.
  2. 부모 폼의 FpSpread 컨트롤에 LegacyBehaviors.Style을 설정합니다.
  3. 부모 폼의 FpSpread에 데이터를 설정합니다. (데이터, 행/열 수 등을 설정하기 전에 LegacyBehaviors가 먼저 설정되어야 합니다.
  4. 이후 부모 폼을 상속 받는 자식 폼을 생성합니다.
  5. 자식 폼을 디자인 타임에서 보면 자식 폼의 FpSpread가 부모 폼의 FpSpread에서 설정한 내용과 같이 보이는 것을 확인하실 수 있습니다.


감사합니다.

메시어스 드림


댓글목록

등록된 댓글이 없습니다.

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