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

[Apply Header Filter] Display Name관련 질문 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 [Apply Header Filter] Display Name관련 질문

페이지 정보

작성자 김태훈 작성일 2023-11-07 16:35 조회 108회 댓글 0건
제품 버전 : 14.45.20213.0
컨트롤 이름 : Spread

본문

첨부파일

안녕하세요 수고 많으십니다.


상황:

첨부된 사진처럼 셀의 Text, RealText, Value값은 '1, 2, 3' 이 들어가 있고,

Display Value 값은 '1:Class 1, 2:Class 2, 3:Class 3,' 값으로 각각 셀에 표시되고 있습니다.


문의:

Apply Header Filter 기능 사용 시 필터에 표시되는 값이 '1, 2, 3'이 아닌 Display Value값으로 표시되거나, 해당 필터에 표시되는 값을 커스텀 할 수 있는 방법이 있는지 문의 드립니다.


감사합니다.

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

댓글목록

등록된 댓글이 없습니다.

2 답변

WinForms윈폼 Re: [Apply Header Filter] Display Name관련 질문

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-09 16:52 댓글 3건

본문

김태훈 님, 안녕하세요.

메시어스입니다.


Spread.NET에서는 Header Filter라는 명칭은 공식적으로 사용되지 않는 명칭입니다.

문의하신 기능에 대한 정확한 답변을 위해, 첨부된 사진처럼 셀의 Text, RealText, Value, DisplayValue, 그리고 Filter를 적용하기 위해 사용하신 코드를 공유해주실 수 있으실까요?



감사합니다.

메시어스 드림

댓글목록

김태훈님의 댓글

김태훈 작성일

안녕하세요. 코드는 너무 복잡하게 구현이 되어있어 공유가 어렵습니다...
설명이 부족 하지만 아래 질문에 대해 해결책이 있는지 알고 싶습니다.

상황:
현재 스프레드 시트에 Cell에 입력된 Text값에 따라 지원하고 있는 Renderer를 사용해
C#의 DrawString 으로 그려진 커스텀 된 텍스트가 Cell출력 됩니다.
예를 들어 실제로 Cell에 '1'이 입력 되어있어도 Renderer를 통해 '1:Class 1' 이라고 출력 됩니다.
하지만, AutoFilter를 EnhancedContextMenu로 사용 시 첨부된 사진처럼 필터 팝업창의 값 목록에는 '1'이 표시됩니다 '1:Class 1'로 표시하고 싶습니다.

문의:
1. 필터 팝업창의 값 목록은 어떤 값을 기준으로 출력 되나요?
2. 해당 값을 커스텀 할 수 있는 방법이 있을까요?

삭제된 댓글

김태훈 작성일

삭제된 댓글 입니다.

김태훈님의 댓글

김태훈 작성일

WinForms윈폼 Re: [Apply Header Filter] Display Name관련 질문

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-13 10:00 댓글 1건

본문

첨부파일

김태훈 님, 안녕하세요.

메시어스입니다.


자세한 이미지 및 설명에 감사드립니다.


일반적으로 EnhancedContextmenu는 셀의 텍스트를 필터 팝업에 표시합니다.

셀의 텍스트를 가져올 때 Spread는 IFormatter.Format을 사용하여 지정된 개체의 형식을 문자열로 지정합니다.

따라서 사용자정의 CellType에서 IFormatter.Form을 재정의해야 합니다.


말씀만으로는 현재 셀의 값과 셀에 표시되는 텍스트를 다르게 설정하실 때 사용하신 방법/코드가 명확하지 않아, 문의하신 기능에 대한 CellType을 사용자정의하고 Format을 재정의하여 전달드립니다.

아래의 샘플 코드(사용자정의 셀 타입) 또는 첨부된 샘플 프로젝트를 참고 부탁드립니다.

private void Form1_Load(object sender, EventArgs e)
{
    fpSpread1.ActiveSheet.Columns[0].CellType = new CustomCellType();
    fpSpread1.ActiveSheet.Cells[0, 0].Value = 1;
    fpSpread1.ActiveSheet.Cells[1, 0].Value = 2;
    fpSpread1.ActiveSheet.Cells[2, 0].Value = 3;

    fpSpread1.ActiveSheet.AutoFilterMode = FarPoint.Win.Spread.AutoFilterMode.EnhancedContextMenu;
    fpSpread1.ActiveSheet.Columns[0].AllowAutoFilter = true;
}

public class CustomCellType : FarPoint.Win.Spread.CellType.GeneralCellType
{
    public override string Format(object obj)
    {
        if (obj != null)
        {
            return string.Format("{0} : class {1}", obj, obj);
        }
        return base.Format(obj);
    }
}


감사합니다.

메시어스 드림

댓글목록

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