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

그룹핑 설정 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 그룹핑 설정

페이지 정보

작성자 tomleee 작성일 2024-03-07 09:51 조회 37회 댓글 0건
제품 버전 : 16.2.20231.0

본문

excel 파일을 import 할 시에 아이템명을 기준으로 그룹을 생성하는 기능을 구현하고 싶습니다. 방법이 있을까요?

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

댓글목록

등록된 댓글이 없습니다.

3 답변

WinForms윈폼 Re: 그룹핑 설정

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-07 11:08 댓글 0건

본문

tomleee 님, 안녕하세요.

메시어스입니다.


먼저, Excel 파일을 Spread로 불러올 때 자동으로 그룹핑을 설정해주는 옵션은 없기 때문에, 먼저 Excel 파일을 Spread로 불러온 후 그룹을 설정하는 동작을 추가해주셔야 합니다.


Spread.NET에서 지원하는 그룹화 기능에 대한 내용은 아래 링크된 도움말에서 확인해보실 수 있습니다.

- Spread WinForms 16 | Managing Grouping of Rows of User Data


그룹화 방법에 대한 정확한 안내를 위해 "아이템명을 기준으로 그룹을 생성한다"는 의미를 조금 더 구체적으로 설명 부탁드립니다.

아래 이미지와 같이 확대/축소를 할 수 있는 그룹을 설정하는 것을 말씀하시는 것일까요?

73bba19911117fad60474b4995b33da0_1709777236_5623.png
혹은 
아이템명을 기준으로 정렬하고 셀을 병합하여 같은 아이템끼리 모여있게 하거나, 또는 다른 방식으로 보여주길 원하시는 것일까요? 


보여주고 싶으신 화면 예시 이미지를 함께 공유해주시면, 적용 가능한 방법이 있는지 확인하여 안내드리겠습니다.


감사합니다.

메시어스 드림



댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 그룹핑 설정

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

페이지 정보

작성자 tomleee 작성일 2024-03-07 15:30 댓글 0건

본문

b92f5125bf89a36f012b7c41e5bf14b8_1709792850_6242.JPG
import 후 엑셀 파일의 기본 형식입니다.

Item(column 2)과 아이템의 토탈 Qty(아이템별 column 6의 sum value)가 row header로 나온 상태에서,

그룹을 펼쳤을시에 엑셀의 형식에 맞춰 row 별로 나눠지는 기능이 필요합니다.

import 를 마쳤을때에는 row header만 보이는 상태를 default로, 필요한 그룹만 열어서 볼 수 있는 기능을 어떻게 구현해야할지 고민입니다.

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: 그룹핑 설정

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-03-11 10:17 댓글 0건

본문

tomleee 님, 안녕하세요.

메시어스입니다.


1. Excel을 Import한 후 Item을 기준으로 그룹핑하는 방법

Excel 파일을 먼저 불러온 후, 타겟 시트의 데이터 모델에 대한 Group Data Model을 설정하여 특정 컬럼을 기준으로 그룹화 할 수 있습니다.

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

fpSpread1.OpenExcel(fileName, FarPoint.Excel.ExcelOpenFlags.ColumnHeaders | FarPoint.Excel.ExcelOpenFlags.TruncateEmptyRowsAndColumns);

// GroupDataModel 설정
FarPoint.Win.Spread.SheetView sheet = fpSpread1.ActiveSheet;
FarPoint.Win.Spread.Model.GroupDataModel gdm = new FarPoint.Win.Spread.Model.GroupDataModel(sheet.Models.Data);
sheet.Models.Data = gdm;

// B열 기준으로 그룹화
FarPoint.Win.Spread.SortInfo[] siList = new FarPoint.Win.Spread.SortInfo[] { new FarPoint.Win.Spread.SortInfo(1, true) };
gdm.Group(siList, null);


2. 아이템의 토탈 Qty가 row header에 보여지게 하는 방법

아쉽게도, 그룹의 헤더는 그룹핑 기준 텍스트를 보여주는 데에만 사용이 되어, 말씀하신 기능을 지원하지 않습니다.

대신 그룹 푸터를 사용해 토탈 Qty를 표현해보실 수 있습니다. 아래 샘플을 참고 부탁드립니다.

sheet.GroupFooterVisible = true;
FarPoint.Win.Spread.Model.Group g;
for (int i=0; i<gdm.Groups.Count; i++)
{
    g = (FarPoint.Win.Spread.Model.Group)gdm.Groups[i];
    ((FarPoint.Win.Spread.Model.IAggregationSupport)g.GroupFooter.DataModel).SetCellAggregationType(0, 2, FarPoint.Win.Spread.Model.AggregationType.Sum);
}


3. import 를 마쳤을때에는 row header만 보이는 상태를 default로, 필요한 그룹만 열어서 볼 수 있는 기능

GroupingPolicy를 CollapseAll로 설정하여 그룹화 작업이 발생했을 때 모든 그룹을 접을 수 있습니다. 그룹화 전에 아래 코드를 추가하여, Excel Import 후 그룹화를 했을 때 모든 그룹이 Collapse 되도록 설정해보시기 바랍니다.

fpSpread1.ActiveSheet.GroupingPolicy = FarPoint.Win.Spread.Model.GroupingPolicy.CollapseAll;


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

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