3. 셀 유형 [WinForms] 셀 유형 - 이미지
페이지 정보
작성자 GrapeCity 작성일 2021-10-25 17:02 조회 880회 댓글 0건본문
관련링크
셀 유형을 지정하여 셀에 표시되는 정보의 유형, 정보가 표시되는 방법, 사용자가 셀과 상호작용하는 방식을 정의할 수 있습니다. 셀 유형에는 두 가지 그룹이 있는데, 하나는 텍스트 서식과 같은 이고, 다른 하나는 입니다. 아래 표에서 각 그룹에 속하는 대표적인 셀 유형을 확인하실 수 있습니다.
편집가능한 셀 유형 그룹 | 그래픽 표시 셀 유형 그룹 |
---|---|
일반 (General) | 버튼 (Button) |
텍스트 (text) | 체크박스 (Check Box) |
날짜-시간 (Date-Time) | 콤보박스 (Combo Box) |
숫자 (Number) | 하이퍼링크 (Hyperlink) |
통화 (Currency) | 이미지 (Image) |
마스크 (Mask) | 목록 상자 (List Box) |
백분율 (Percent) | 다중 열 콤보박스 (Multiple-Column Combo Box) |
정규식 (Regular Expression) | 다중 옵션 (Multiple Option) |
서식이 있는 텍스트 (Rich Text) | 진행 표시기 (Progress Indicator) |
슬라이더 (Slider) |
Spread.NET에서 기본으로 제공하는 셀 유형 뿐만 아니라, 필요에 따라 사용자 정의 셀 유형을 설정할 수 있습니다. 셀 유형은 개별 셀, 행 또는 열, 전체 시트에 대해서 설정할 수 있으며 셀 수준에 가까울 수록 우선 순위가 높아집니다. 이번 글에서는 이미지 셀 유형에 대해 살펴보도록 하겠습니다.
ImageCellType
이미지 셀 유형을 사용하여 셀에 그래픽 이미지를 표시할 수 있습니다. 이미지 셀은 이미지를 데이터로 표시합니다. 바인딩 될의 열의 데이터 형식이 비트 배열인 경우, 바인딩된 열의 기본 셀 형식은 이미지 셀 형식입니다.
셀의 Value 속성에 이미지 객체를 할당할 수 있습니다. 이미지가 포함된 셀을 만들기 위해 ImageCellType 클래스를 사용합니다. 아래 예제에 따라 이미지 셀을 생성해보도록 하겠습니다.
먼저 ImageCellType 클래스의 인스턴스를 생성하여 이미지 셀을 정의합니다.
FarPoint.Win.Spread.CellType.ImageCellType imgct =
new
FarPoint.Win.Spread.CellType.ImageCellType();
이미지 파일로부터 이미지를 불러옵니다. Image.FromFile 메소드는 절대 경로를 인자로 받습니다.
String dir = System.IO.Directory.GetParent(Environment.CurrentDirectory).Parent.FullName;
System.Drawing.Image image = System.Drawing.Image.FromFile(dir +
"\\logo-spread.png"
);
ImageCellType 개체의 Style 속성을 통해 이미지 렌더 스타일을 설정합니다. 렌더 스타일에는 4가지 옵션 설정이 가능한데, 본 예제에서는 StretchAndScale 옵션을 설정하여 이미지 가로 세로 비율을 유지한 채로 셀에 맞게 이미지를 늘일 수 있게 하였습니다.
Normal : 실제 크기의 이미지를 표시합니다. 이미지 크기가 컨트롤 보다 큰 경우, 이미지의 일부만 보여집니다.
Stretch : 가로 세로 비율에 관계없이 컨트롤에 꽉 차게 이미지 크기를 조정합니다.
StretchAndScale : 가로 세로 비율을 유지한 채로 컨트롤에 맞게 이미지 크기를 조정합니다.
Tile : 컨트롤을 채우기 위해 이미지를 타일 방식으로 여러번 표시합니다.
// 이미지 셀의 렌더스타일 설정
imgct.Style = FarPoint.Win.RenderStyle.StretchAndScale;
이미지를 삽입할 셀의 배경색(투명), 넓이(200)와 높이(100)를 설정합니다.
fpSpread1.Sheets[0].Cells[1, 1, 1, 1].BackColor = Color.Transparent;
fpSpread1.Sheets[0].Columns[1, 1].Width = 200;
fpSpread1.Sheets[0].Rows[1, 1].Height = 100;
해당 셀의 CellType 속성을 ImageCellType 개체로 설정하여 이미지 셀 유형을 셀 또는 셀 범위에 할당합니다.
fpSpread1.Sheets[0].Cells[1, 1, 1, 1].CellType = imgct;
Value 속성을 사용하여 로고 이미지를 셀에 로드합니다.
fpSpread1.Sheets[0].Cells[1, 1].Value = image;
코드를 실행하면, 다음과 같은 결과 화면을 볼 수 있습니다.
샘플을 다운로드하여 전체 코드를 확인해 보실 수 있습니다.
지금 바로 Spread.NET을 다운로드하여 직접 테스트해보세요!
댓글목록
등록된 댓글이 없습니다.