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">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxg:GridControl x:Name="gridControl"
Loaded="gridControl_Loaded">
<dxg:GridControl.Columns>
<dxg:GridColumn x:Name="colIssueName" FieldName="IssueName" Visible="True" Width="100" />
<dxg:GridColumn x:Name="colIssueType" FieldName="IssueType" Visible="True" Width="80" />
<dxg:GridColumn x:Name="colPrivate" FieldName="IsPrivate" Visible="False" Width="20" Header="Private" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView />
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel
Grid.Row="1"
Margin="0 5 0 5"
Orientation="Horizontal">
<Button x:Name="saveLayoutButton"
Margin="5 0 5 0"
Padding="5"
Content="Save Layout"
Click="saveLayoutButton_Click" />
<Button x:Name="restoreLayoutButton"
Padding="5"
Content="Restore Layout"
Click="restoreLayoutButton_Click" />
</StackPanel>
</Grid>
</Window>
728x90
▶ MainWindow.xaml.cs
using System.Windows;
using DevExpress.Xpf.Core.Serialization;
using DevExpress.Xpf.Grid;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 그리드 컨트롤 로드시 처리하기 - gridControl_Loaded(sender, e)
/// <summary>
/// 그리드 컨트롤 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void gridControl_Loaded(object sender, RoutedEventArgs e)
{
this.gridControl.ItemsSource = new IssueList().GetData();
foreach(GridColumn gridColumn in this.gridControl.Columns)
{
gridColumn.AddHandler(DXSerializer.AllowPropertyEvent, new AllowPropertyEventHandler(gridColumn_AllowProperty));
}
}
#endregion
#region 그리드 컬럼 속성 허용 처리하기 - gridColumn_AllowProperty(sender, e)
/// <summary>
/// 그리드 컬럼 속성 허용 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void gridColumn_AllowProperty(object sender, AllowPropertyEventArgs e)
{
e.Allow = e.DependencyProperty == GridColumn.ActualWidthProperty ||
e.DependencyProperty == GridColumn.FieldNameProperty ||
e.DependencyProperty == GridColumn.VisibleProperty;
}
#endregion
#region Restore Layout 버튼 클릭시 처리하기 - restoreLayoutButton_Click(sender, e)
/// <summary>
/// Restore Layout 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void restoreLayoutButton_Click(object sender, RoutedEventArgs e)
{
this.gridControl.RestoreLayoutFromXml("layout.xml");
}
#endregion
#region Save Layout 버튼 클릭시 처리하기 - saveLayoutButton_Click(sender, e)
/// <summary>
/// Save Layout 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void saveLayoutButton_Click(object sender, RoutedEventArgs e)
{
this.gridControl.SaveLayoutToXml("layout.xml");
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] GridControl 클래스 : 셀에서 리치 텍스트 박스 사용하기 (0) | 2017.12.10 |
---|---|
[DEVEXPRESS/WPF] GridControl 클래스 : 셀 값 변경 후 데이터 소스에 값을 즉시 저장하기 (0) | 2017.12.10 |
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 커스텀 텍스트 표시하기 (0) | 2017.12.10 |
[DEVEXPRESS/WPF] GridControl 클래스 : 선택 행의 모양 변경하기 (0) | 2017.12.10 |
[DEVEXPRESS/WPF] GridControl 클래스 : 컨텍스트 메뉴에 항목 추가하기/제거하기 (0) | 2017.12.09 |
[DEVEXPRESS/WPF] ComboBoxEdit 클래스 : 데이터 바인딩 하기 (0) | 2017.12.09 |
[DEVEXPRESS/WPF] ButtonEdit 클래스 : 버튼 추가하기 (0) | 2017.12.09 |
[DEVEXPRESS/WPF] LayoutControl 클래스 : 비선형 레이아웃 구축하기 (0) | 2017.12.09 |
[DEVEXPRESS/WPF] FlowLayoutControl 클래스 : 항목 표시하고 최대화 특징 활성화 하기 (0) | 2017.12.09 |
[DEVEXPRESS/WPF] DockLayoutControl 클래스 : 도킹 레이아웃 사용하기 (0) | 2017.12.09 |
댓글을 달아 주세요