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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Width="800"
Height="600"
Title="커스텀 정렬 구현하기"
FontFamily="나눔고딕코딩"
FontSize="16"
Loaded="Window_Loaded">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<CheckBox
Grid.Row="0"
Margin="10"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Content="Custom Sort"
Checked="checkBox_Checked"
Unchecked="checkBox_Unchecked" />
<dxg:GridControl x:Name="gridControl"
Grid.Row="1"
CustomColumnSort="gridControl_CustomColumnSort">
<dxg:GridControl.View>
<dxg:TableView x:Name="tableView"
ShowGroupPanel="False"
NavigationStyle="None" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</Window>
728x90
▶ MainWindow.xaml.cs
using System.Windows;
using System.Collections.Generic;
using DevExpress.Xpf.Grid;
using DevExpress.XtraGrid;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 윈도우 로드시 처리하기 - Window_Loaded(sender, e)
/// <summary>
/// 윈도우 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string[] strMonthArray = new string[]
{
"January", "February", "March" ,
"April" , "May" , "June" ,
"July" , "August" , "September",
"October", "November", "December"
};
this.gridControl.ItemsSource = strMonthArray;
this.gridControl.PopulateColumns();
this.gridControl.SortBy(this.gridControl.Columns[0]);
}
#endregion
#region 체크 박스 체크시 처리하기 - checkBox_Checked(sender, e)
/// <summary>
/// 체크 박스 체크시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void checkBox_Checked(object sender, RoutedEventArgs e)
{
this.gridControl.Columns[0].SortMode = ColumnSortMode.Custom;
this.gridControl.SortBy(this.gridControl.Columns[0]);
}
#endregion
#region 체크 박스 체크시 처리하기 - checkBox_Checked(sender, e)
/// <summary>
/// 체크 박스 체크시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void checkBox_Unchecked(object sender, RoutedEventArgs e)
{
this.gridControl.Columns[0].SortMode = ColumnSortMode.Default;
this.gridControl.SortBy(this.gridControl.Columns[0]);
}
#endregion
#region 그리드 컨트롤 커스텀 컬럼 정렬시 처리하기 - gridControl_CustomColumnSort(sender, e)
/// <summary>
/// 그리드 컨트롤 커스텀 컬럼 정렬시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void gridControl_CustomColumnSort(object sender, CustomColumnSortEventArgs e)
{
e.Result = Comparer<int>.Default.Compare
(
e.ListSourceRowIndex1,
e.ListSourceRowIndex2
);
e.Handled = true;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] TreeListView 클래스 : 드래그 & 드롭 사용하기 (0) | 2018.03.04 |
---|---|
[DEVEXPRESS/WPF] GridControl 클래스 : TableView에서 드래그 & 드롭 사용하기 (0) | 2018.03.04 |
[DEVEXPRESS/WPF] 편집 셀 간 커스텀 네비게이션 구현하기 (0) | 2018.03.04 |
[DEVEXPRESS/WPF] 행 더블 클릭 처리하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] Per-Pixel 스크롤을 위한 커스텀 스크롤 애니메이션 구현하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] 커스텀 정렬 구현하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] 커스텀 필터 드롭 다운 생성하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] 컬럼의 필터 드롭 다운 내에서 커스텀 필터 항목 만들기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] 커스텀 필터 구현하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] 커스텀 그룹 구현하기 (0) | 2018.03.03 |
[DEVEXPRESS/WPF] SUMMARY 값으로 그룹 행 정렬하기 (0) | 2018.03.03 |
댓글을 달아 주세요