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

.NET 스프레드 시트에서 WinForms 슬라이서 사용해보기 > 블로그 & Tips

본문 바로가기

Spread.NET

블로그 & Tips

.NET 스프레드 시트에서 WinForms 슬라이서 사용해보기

페이지 정보

작성자 GrapeCity 작성일 2020-05-06 00:00 조회 1,595회 댓글 0건

본문

슬라이서는 스프레드 시트에서 테이블을 필터링하는 UI 도구입니다. 슬라이서를 사용하면 열에서 사용 가능한 필터 항목을 볼 수 있으며 Ctrl + 클릭 및 Shift + 클릭을 통해 필터 컨텍스트 메뉴를 사용하는 것보다 여러 필터 항목을 더 쉽게 선택할 수 있습니다. 슬라이서는 부유물처럼 시트 어디에서나 배치할 수 있고 테이블의 중요한 열에 대한 필터 기준을 선택하는 대시 보드를 만들어 슬라이서를 배치할 수 있습니다.


슬라이서 기능은 Spread.NET WinForms의 Excel 호환성을 향상시키고 대시보드 인터페이스를 생성하는 새로운 도구를 제공합니다.


스프레드 시트 슬라이서의 사용 사례 :


  1. 슬라이서는 테이블을 필터링하기 위한 UI 도구입니다 .
  2. 슬라이서는 일정한 간격으로 놓을 수 있으며 테이블 데이터에 기반한 차트들과 함께 사용하도록 대시보드 도구를 만들어 다른 워크 시트에 복사/붙여넣기를 할 수 있습니다.
  3. 슬라이서를 사용하면 필터 대화 상자를 사용하는 것보다 Ctrl + 클릭 또는 Shift + 클릭을 사용하여 필터 항목체크하고 마우스를 용하여 여러 항목을 선택할 수 있습니다 .


슬라이서를 사용하려면 먼저 테이블을 생성해야 합니다.



슬라이서 활성화


슬라이서를 사용하려면 먼저 Enhanced Shape Engine을 활성화를 해줘야 합니다. Visual Studio design-time 또는 스프레드 디자이너 도구를 사용하는 경우 속성창을 이용하여 작업을 수행할 수 있습니다.


먼저 속성창 위의 드롭 다운에서 Spread를 선택한 다음 Behavior(동작)-Features 로 스크롤하여 탭을 확장한 뒤, EnhancedShapeEngine을 True로 변경하십시오.



또는 
코드에서 
EnhancedShapeEngine을 활성화할 수 있습니다 .


[C#]

EnhancedShapeEngine 사용

fpSpread1.Features.EnhancedShapeEngine = true;


[VB]

EnhancedShapeEngine 사용

fpSpread1.Features.EnhancedShapeEngine = True


슬라이서 삽


스프레드 디자이너 도구를 사용하여 새 슬라이서를 삽입하기 위해서는 리본 메뉴의 Insert(삽입)탭에서 Insert Slicer(슬라이서 삽입) 도구를 이용하면 됩니다 .



 

Insert Slicer(삽입 슬라이서) 도구를 클릭했을 때,  슬라이서 삽입 대화 상자가 나타납니다. :



코드에 Insert Slicer(슬라이서 삽입) 대화 상자를 표시할 수도 있습니다.


[C#]

코드에 Insert Slicer(슬라이서 삽입) 대화 상자 표시

SlicerInsertForm dlg = new SlicerInsertForm(table, new Point(25, 25));
dlg.ShowDialog(this);

[VB]

코드에 Insert Slicer(슬라이서 삽입) 대화 상자 표시 :

Dim dlg As SlicerInsertForm = new SlicerInsertForm(table, new Point(25, 25))
dlg.ShowDialog(Me)


Insert Slicer(슬라이서 삽입) 대화 상자 사용하여 테이블에서 하나 이상의 열을 선택한 다음 확인을 클릭하면 테이블을 필터링하기 위해 선택된 각 열에 대해 새 슬라이서가 생성됩니다.

예를 들어 Insert Slicer(슬라이서 삽입) 대화 상자에서 국가 를 선택하였을 때, 마우스를 이용하여 이동하고 조정할 수 있는 국가 열에 대한 슬라이서가 생성됩니다.




왼쪽 / 오른쪽 /  / 아래 방향 화살표 키를 통해 슬라이서를 이동시킬 수 있으며 동일한 키보드 단축키 또한 사용하실 수 있습니다. (폭 줄이기 : Shift + 왼쪽 화살표 키, 폭 늘리기 : Shift + 오른쪽 화살표 키, 높이 줄이기 : Shift + 위쪽 화살표 키, 높이 늘리기 : Shift +  아래쪽 화살표 키 등) Slicer(슬라이서) 탭에서 Height(높이)Width(너비)에 대해 리본 메뉴를 사용할 수도 있습니다.


슬라이서는 지정된 열에서 테이블을 필터링하기 위한 대체 가능한 인터페이스이며 특정 열에 대한 필터/정렬 드롭 다운을 사용하여 변경된 내용을 반영합니다.


슬라이서를 선택했을 때, Slicer(슬라이서) 도구창이 리본 메뉴에 표시됩니다.






Buttons(버튼)
탭에는 슬라이서의 항목 열 수와 각 항목의 높이 및 너비를 조정할 수 있는 도구가 있습니다.


리본 메뉴에서 슬라이서 캡션을 직접 편집할 수 있습니다. 슬라이서 캡션 텍스트 상자 아래 버튼을 클릭하여 Slicer Settings dialog(슬라이서 설정 대화 상자)를 엽니다 .






슬라이서
의 
이름은 수식에서 참조될 수 있습니다. 하단의 컨트롤은 정렬 순서, 데이터가 없는 항목이 표시되는지 여부, 데이터가 없는 항목을 시각적으로 표시할지 여부, 데이터가 없는 항목을 마지막으로 표시할지 여부를 결정합니다.


캡션이름과 분리되어 Display Header(헤더 표시)가 체크되면 슬라이서 헤더 부분에 표시됩니다. 헤더 표시가 체크가 되어있지 않다면 슬라이서가 헤더 없이 표시됩니다.:





다음은
 Slicer Tools(슬라이서 도구) 탭에 있는 Slicer Styles(슬라이서 스타일) 드롭 다운입니다. 





다음으로, Arrange(배열) 그룹에서 Bring Forward(앞으로 가져오기) 컨트롤이 있습니다 .





또한 Arrange(배열) 그룹에는 Send Backward(뒤로 보내기) 대한 컨트롤이 있습니다




서로 겹치는 방식을 제어할 수 있는 슬라이서의 Z-Order를 조정하기 위한 도구로 사용될 수 있습니다. 

Align(정렬) 메뉴의 도구는 슬라이서를 위한 멋진 레이아웃을 만드는 데 유용합니다.





Align(정렬)
 메뉴의 도구를 사용하기 위해서는, 여러 슬라이서 또는 도형이 선택되어 있어야합니다.

마지막으로 Group(그룹) 메뉴가 있습니다 :





Group(그룹)
 도구를 사용하여 하나 이상의 선택된 슬라이서 또는 선택된 도형을 하나의 그룹으로 병합(Group Shape)하여 함께 이동하고 크기를 조절 할 수 있습니다. 


다음으로 Buttons(버튼) 그룹에는 슬라이서 버튼의  수 와 버튼의 높이와 너비를 설정하는 컨트롤이 있고 크기 그룹에는 슬라이서 높이너비를 설정하기 위한 컨트롤이 있습니다.


코드 사용


다음 코드는 "국가"(Country)필드에 대한 슬라이서를 만듭니다.


[C#]

슬라이서 샘플 코드 :

1
ISlicerCache cache = workbook.SlicerCaches.Add(table, 8, "Country");
2
ISlicer slicer = cache.Slicers.Add(worksheet, "Country", "Country", 100, 220, 250, 200);

[VB]

슬라이서 샘플 코드 :

Dim cache As ISlicerCache = workbook.SlicerCaches.Add(table, 8, "Country")
Dim slicer As ISlicer = cache.Slicers.Add(worksheet, "Country", "Country", 100, 220, 250, 200)


슬라이서 대화 상자


다음 코드는 내장 Insert Slicer dialog(슬라이서 삽입 대화 상자)를 만들고 보여줍니다 .


[C#]

슬라이서 삽입 대화 상자 표시

SlicerInsertForm dlg = new SlicerInsertForm(table, new Point(25, 25));
dlg.ShowDialog(this);

[VB]

슬라이서 삽입 대화 상자 표시 :

Dim dlg As New SlicerInsertForm(table, New Point(25, 25))
dlg.ShowDialog(Me)


최종 사용자는 테이블에서 원하는 수의 열을 선택하여 테이블 필터링을 위한 슬라이서를 만들 수 있습니다.


[C#]

슬라이서 설정 대화 상자 표시 

// show the slicer settings form for the specified slicers
SlicerSettingsForm form = new SlicerSettingsForm(slicers, workbook);
form.ShowDialog();

[VB]

슬라이서 설정 대화 상자 표시 

Dim form As New SlicerSettingsForm(selectedSlicers.ToArray(), workbook)
form.ShowDialog()


최종 사용자는 테이블에서 원하는 수의 열을 선택하여 테이블 필터링을 위한 슬라이서를 만들 수 있습니다.


다음 코드는 내장 Slicer Settings dialog(슬라이서 설정 대화 상자)를 만들고 보여줍니다 .


내장 슬라이서 스타일 적용


다음 코드는 선택된 슬라이서에 내장 슬라이서 스타일을 사용합니다.


[C#]

내장 슬라이서 스타일 적용 

// this code uses a menu initialized with the built-in slicer styles in the order of BuiltInSlicerStyles
IWorkbook workbook = fpSpread1.AsWorkbook();
ITableStyle style = workbook.TableStyles[(int)typeof(BuiltInSlicerStyles).GetEnumValues().GetValue(styleToolStripMenuItem.DropDownItems.IndexOf((ToolStripItem)sender))];
ISlicers slicers = workbook.ActiveSheet.Slicers;
int count = slicers.Count;
for (int i = 0; i < count; i++)
{
    if (slicers[i].Shape.Selected)
    {
        slicers[i].Style = style;
    }
}

[VB]

내장 슬라이서 스타일 적용

' this code uses a menu initialized with the built-in slicer styles in the order of BuiltInSlicerStyles
Dim workbook As IWorkbook = fpSpread1.AsWorkbook()
Dim style As ITableStyle = workbook.TableStyles(CInt(GetType(BuiltInSlicerStyles).GetEnumValues().GetValue(styleToolStripMenuItem.DropDownItems.IndexOf(DirectCast(sender, ToolStripItem)))))
Dim slicers As ISlicers = workbook.ActiveSheet.Slicers
Dim count As Integer = slicers.Count
For i As Integer = 0 To count - 1
    If slicers(i).Shape.Selected Then
        slicers(i).Style = style
    End If
Next


전체 샘플 코드는 설치 설치 프로그램에 포함되어 있는 Spread.NET 13 WinForms Control Explorer에서 사용할 수 있습니다 (C# 및 VB).

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

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

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