[DEVEXPRESS/WPF] PivotGridControl 클래스 : DX 차트 세트를 사용해 데이터 비주얼화 하기
DevExpress/WPF 2017. 10. 30. 23:39728x90
반응형
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:dxc="http://schemas.devexpress.com/winfx/2008/xaml/charts"
xmlns:dxpg="http://schemas.devexpress.com/winfx/2008/xaml/pivotgrid"
xmlns:local="clr-namespace:TestProject"
Width="1400"
Height="600"
Title="DX 차트 세트를 사용해 데이터 비주얼화 하기"
FontFamily="나눔고딕코딩"
FontSize="16"
Loaded="Window_Loaded">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<CheckBox x:Name="transposeDataSourceCheckBox"
Margin="5 10 5 10"
Content="Transpose Data Source">
<CheckBox.IsChecked>
<Binding
ElementName="pivotGridControl"
Path="ChartProvideDataByColumns"
Mode="TwoWay"
Converter="{local:ToggleBooleanValueConverter}" />
</CheckBox.IsChecked>
</CheckBox>
<dxpg:PivotGridControl x:Name="pivotGridControl"
ShowRowGrandTotals="False"
ShowColumnGrandTotals="False"
Grid.Row="1"
Grid.Column="0"
ShowFilterHeaders="False"
ChartSelectionOnly="False"
ChartFieldValuesProvideMode="DisplayText"
ChartProvideDataByColumns="True">
<dxpg:PivotGridControl.Fields>
<dxpg:PivotGridField x:Name="yearPivotGridField"
FieldName="OrderDate"
Area="ColumnArea"
Caption="Year"
GroupInterval="DateYear" />
<dxpg:PivotGridField x:Name="salesPersonPivotGridField"
FieldName="Salesperson"
Area="RowArea"
Caption="Sales Person" />
<dxpg:PivotGridField x:Name="quantityPivotGridField"
FieldName="Quantity"
Area="DataArea" />
</dxpg:PivotGridControl.Fields>
</dxpg:PivotGridControl>
<dxc:ChartControl x:Name="chartControl"
DataSource="{Binding ElementName=pivotGridControl, Path=ChartDataSource}"
Grid.Row="1"
Grid.Column="1">
<dxc:ChartControl.Diagram>
<dxc:XYDiagram2D SeriesDataMember="Series">
<dxc:XYDiagram2D.SeriesTemplate>
<dxc:BarSideBySideSeries2D
ArgumentDataMember="Arguments"
ValueDataMember="Values" />
</dxc:XYDiagram2D.SeriesTemplate>
</dxc:XYDiagram2D>
</dxc:ChartControl.Diagram>
</dxc:ChartControl>
</Grid>
</Window>
728x90
▶ MainWindow.xaml.cs
using System.Windows;
using TestProject.NorthwindDataSetTableAdapters;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
this.pivotGridControl.DataSource = (new InvoicesTableAdapter()).GetData();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 윈도우 로드시 처리하기 - Window_Loaded(sender, e)
/// <summary>
/// 윈도우 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.pivotGridControl.BestFit();
}
#endregion
}
}
▶ ToggleBooleanValueConverter.cs
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Markup;
namespace TestProject
{
/// <summary>
/// 토글 진리 값 변환자
/// </summary>
public class ToggleBooleanValueConverter : MarkupExtension, IValueConverter
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
// MarkupExtension
#region 값 제공하기 - ProvideValue(serviceProvider)
/// <summary>
/// 값 제공하기
/// </summary>
/// <param name="serviceProvider">IServiceProvider 객체</param>
/// <returns>제공 값</returns>
public override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}
#endregion
// IValueConverter
#region 변환하기 - Convert(value, targetType, parameter, cultureInfo)
/// <summary>
/// 변환하기
/// </summary>
/// <param name="value">값</param>
/// <param name="targetType">타겟 타입</param>
/// <param name="parameter">매개 변수</param>
/// <param name="cultureInfo">CultureInfo 객체</param>
/// <returns>변환 값</returns>
public object Convert(object value, Type targetType, object parameter, CultureInfo cultureInfo)
{
return !(bool)value;
}
#endregion
// IValueConverter
#region 역변환하기 - ConvertBack(value, targetType, parameter, cultureInfo)
/// <summary>
/// 역변환하기
/// </summary>
/// <param name="value">값</param>
/// <param name="targetType">타겟 타입</param>
/// <param name="parameter">매개 변수</param>
/// <param name="cultureInfo">CultureInfo 객체</param>
/// <returns>역변환 값</returns>
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo cultureInfo)
{
return !(bool)value;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] GridControl 클래스 : 데이터에 카드 헤더 바인딩 하기 (0) | 2017.11.03 |
---|---|
[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 클래스 : 커스텀 SUMMARY 계산하기 (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 |
댓글을 달아 주세요