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

스프레드 시트 랜더링 오류 문제 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 스프레드 시트 랜더링 오류 문제

페이지 정보

작성자 후니후니 작성일 2023-09-20 13:55 조회 236회 댓글 0건
제품 버전 : 13.45.20203.0
컨트롤 이름 : FpSpread

본문

첨부파일

도구 상자에서 FpSpread 컨트롤을 추가해준 뒤 spread designer 에서 버튼만 추가 해준 뒤 코드 상에서

            ComboListPC구분.Items = SP.listPC구분().ToArray();
            ComboListMonitor.Items = SP.listMonitor().ToArray();
            ComboListOS.Items = SP.listOS().ToArray();
            ComboListGrade.Items = SP.listGrade().ToArray();
            ComboListYn.Items = SP.listYn().ToArray();

            spdData.ActiveSheet.Columns[3].CellType = ComboListPC구분;
            spdData.ActiveSheet.Columns[9].CellType = ComboListMonitor;     // 모니터1
            spdData.ActiveSheet.Columns[10].CellType = ComboListMonitor;     // 모니터2
            spdData.ActiveSheet.Columns[11].CellType = ComboListGrade;      // 적정등급
            spdData.ActiveSheet.Columns[13].CellType = ComboListOS;        // 적정OS
            spdData.ActiveSheet.Columns[14].CellType = ComboListOS;         // 현재OS
            spdData.ActiveSheet.Columns[15].CellType = ComboListYn;         // 오피스
            spdData.ActiveSheet.Columns[18].CellType = ComboListYn;         // 원격여부 17
            spdData.ActiveSheet.Columns[19].CellType = ComboListYn;         // 보고용 18
            spdData.ActiveSheet.Columns[21].CellType = new CheckBoxCellType();
 


다음과 같이 셀 타입을 지정해주었습니다.

그 뒤 스프레드의 레코드 초기화를 해줄 때에 다음과 같이 컬럼을 돌면서 value 값들을 ""로 초기화 해주니 추가해준 콤보박스와 단추들의 랜더링이 안보이는 현상이 발생했습니다.

    for (col = 1; col < spd.ColumnCount - 2; col++)
    {
        spd.Cells[0, 4, 0, 7].Value = null; // null로 초기화 하는 것은 문제 없이 잘 되었음
        spd.Cells[e.Row, col].Text = ""; // text 속성 초기화도 정상 동작
        spd.Cells[e.Row, 4, 0, 7].Value = ""; // value 값을 ""로 초기화 했을 때만 랜더링 오류가 발생
    }
 

여기서 말하는 랜더링 오류는 프로그램을 실행하고 저 구문이 실행되었을 때 위에서 지정했던 CellType들이 보이지 않는 현상입니다.
하지만 마우스를 해당 셀에 오버하였을 때는 속성이 보이고 동작은 되는 상황입니다.

물론 초기화를 하는 다른 방법이 있겠지만 이렇게 진행을 하다 알게되어서 어느 부분이 문제가 되어 랜더링 오류가 발생하는지 알고 싶어 질문 드립니다.

첨부한 사진과 같이 구문이 동작한 뒤 셀타입 랜더링이 사라지는 현상을 확인하였습니다.

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 스프레드 시트 랜더링 오류 문제

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

페이지 정보

작성자 GCK써니 작성일 2023-09-22 13:45 댓글 0건

본문

후니후니 님, 안녕하세요.

그레이프시티입니다.


먼저 적용하신 코드 샘플과 이미지를 공유해주심에 감사드립니다.


공유해주신 현상은 Spread의 페인팅 로직에서 발생한 현상으로, 셀 값이 빈 문자열로 설정될 때 그래픽 처리에 문제가 있어 발생하였습니다. 셀 값을 null로 설정하는 경우엔 스프레드에서 셀 값 페인팅 로직을 호출하지 않기 때문에 해당 문제가 발생하지 않았던 것입니다.


해당 현상은 Spread.NET V14에서 픽스가 완료되어, 현재는 정상적으로 동작하고 있습니다.


Spread.NET V13을 사용하시면서, 셀의 값을 초기화 하길 원하시는 경우 셀의 Value를 빈 문자열로 설정하는 대신, 아래와 같이 Cell.ResetValue() 메서드를 호출하여 셀의 값을 초기화해보시기 바랍니다.

spd.Cells[e.Row, 1, e.Row, spd.ColumnCount - 3].ResetValue();


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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