첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ XAML

<Grid xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*"    />
    </Grid.RowDefinitions>
    <StackPanel
        Grid.Row="0"
        Margin="0 10 0 10"
        Orientation="Horizontal">
        <CheckBox x:Name="hideEvenRowCheckBox"
            Margin="10 0 10 0"
            VerticalAlignment="Center"
            Content="Hide Even Row"
            Checked="checkBox_Checked"
            Unchecked="checkBox_Checked" />
        <CheckBox x:Name="hideOddRowCheckBox"
            VerticalAlignment="Center"
            Content="Hide Odd Row"
            Checked="checkBox_Checked"
            Unchecked="checkBox_Checked" />
    </StackPanel>
    <dxg:GridControl x:Name="gridControl"
        Grid.Row="1"
        AutoGenerateColumns="AddNew"
        CustomRowFilter="gridControl_CustomRowFilter">
        <dxg:GridControl.View>
            <dxg:TableView x:Name="tableView"
                AutoWidth="True"
                ShowGroupPanel="False"
                NavigationStyle="None" />
        </dxg:GridControl.View>
    </dxg:GridControl>
</Grid>

 

728x90

 

▶ C#

using System.Windows;
using DevExpress.Xpf.Grid;

...

this.gridControl.ItemsSource = new object[] { "A", "B", "C", "D", "E", "F", "G", "H" };

...

#region 그리드 컨트롤 커스텀 행 필터 처리하기 - gridControl_CustomRowFilter(sender, e)

/// <summary>
/// 그리드 컨트롤 커스텀 행 필터 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void gridControl_CustomRowFilter(object sender, RowFilterEventArgs e)
{
    if(this.hideOddRowCheckBox.IsChecked.Value && e.ListSourceRowIndex % 2 == 1)
    {
        e.Visible = false;
    }

    if(this.hideEvenRowCheckBox.IsChecked.Value && e.ListSourceRowIndex % 2 == 0)
    {
        e.Visible = false;
    }

    e.Handled = !e.Visible ? true : false;
}

#endregion

#region 체크 박스 체크시 처리하기 - checkBox_Checked(sender, e)

/// <summary>
/// 체크 박스 체크시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void _pCheckBox_Checked(object pSender, RoutedEventArgs e)
{
    this.gridControl.RefreshData();
}

#endregion

 

728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요