728x90
반응형
728x170
▶ MainWindow.xaml
<Window
x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
Width="800"
Height="600"
Title="커스텀 SUMMARY 계산하기"
FontFamily="나눔고딕코딩"
FontSize="16">
<Grid>
<dxpg:PivotGridControl x:Name="pivotGridControl"
CustomSummary="pivotGridControl_CustomSummary">
<dxpg:PivotGridControl.Fields>
<dxpg:PivotGridField x:Name="fieldProductName"
FieldName="ProductName"
Area="RowArea"
Caption="Product Name" />
<dxpg:PivotGridField x:Name="extendedPricePivotGridField"
FieldName="Extended Price"
Area="DataArea"
SummaryType="Custom"
CellFormat="p"
Caption="Percentage of Orders over $500" />
</dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>
</Grid>
</Window>
728x90
▶ MainWindow.xaml.cs
using System.Windows;
using DevExpress.Xpf.PivotGrid;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
this.pivotGridControl.DataSource = new NorthwindDataSetTableAdapters.OrderReportsTableAdapter().GetData();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 피벗 그리드 컨트롤 커스텀 SUMMARY 처리하기 - pivotGridControl_CustomSummary(sender, e)
/// <summary>
/// 피벗 그리드 컨트롤 커스텀 SUMMARY 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void pivotGridControl_CustomSummary(object sender, PivotCustomSummaryEventArgs e)
{
if(e.DataField != this.extendedPricePivotGridField)
{
return;
}
int count = 0;
PivotDrillDownDataSource pivotDrillDownDataSource = e.CreateDrillDownDataSource();
for(int i = 0; i < pivotDrillDownDataSource.RowCount; i++)
{
PivotDrillDownDataRow pivotDrillDownDataRow = pivotDrillDownDataSource[i];
decimal decOrderSummary = (decimal)pivotDrillDownDataRow[this.extendedPricePivotGridField];
if(decOrderSummary >= 500)
{
count++;
}
}
if(pivotDrillDownDataSource.RowCount > 0)
{
e.CustomValue = (decimal)count / pivotDrillDownDataSource.RowCount;
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] GridControl 클래스 : 컬럼 헤더 내에서 체크 박스 표시하기 (0) | 2017.11.03 |
---|---|
[DEVEXPRESS/WPF] DialogService 클래스 사용하기 (0) | 2017.11.02 |
[DEVEXPRESS/WPF] GridControl 클래스 : 컬럼 헤더 내에서 이미지 표시하기 (0) | 2017.10.31 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 언바운드 데이터 표시하기 (0) | 2017.10.31 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : DX 차트 세트를 사용해 데이터 비주얼화 하기 (0) | 2017.10.30 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 기본 데이터 구하기 (0) | 2017.10.28 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 커스텀 계 표시하기 (0) | 2017.10.28 |
[DEVEXPRESS/WPF] GridControl 클래스 : 실행시 특정 문자열 대체를 통해 그리드 지역화 하기 (0) | 2017.06.22 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 날짜/시간 값으로 그룹 만들기 (0) | 2017.06.22 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 총계로 데이터 정렬하기 (0) | 2017.06.21 |
댓글을 달아 주세요