728x90
반응형
728x170
TestProject.zip다운로드NORTHWND.zip다운로드
▶ 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>
<dxg:GridControl x:Name="gridControl"
AutoGenerateColumns="AddNew">
<dxg:GridControl.View>
<dxg:TableView x:Name="tableView"
NewItemRowPosition="Top"
InitNewRow="tableView_InitNewRow"
ValidateRow="tableView_ValidateRow"
InvalidRowException="tableView_InvalidRowException" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</Window>
728x90
▶ MainWindow.xaml.cs
using System.Windows;
using DevExpress.Xpf.Grid;
namespace TestProject
{
/// <summary>
/// 메인 윈도우
/// </summary>
public partial class MainWindow : Window
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainWindow()
/// <summary>
/// 생성자
/// </summary>
public MainWindow()
{
InitializeComponent();
this.gridControl.ItemsSource = new NorthwindEntities().Products;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 테이블 뷰 신규 행 초기화시 처리하기 - tableView_InitNewRow(sender, e)
/// <summary>
/// 테이블 뷰 신규 행 초기화시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void tableView_InitNewRow(object sender, InitNewRowEventArgs e)
{
this.gridControl.SetCellValue(e.RowHandle, "UnitPrice" , 10 );
this.gridControl.SetCellValue(e.RowHandle, "Discontinued", false);
this.gridControl.SetCellValue(e.RowHandle, "UnitsOnOrder", 1 );
}
#endregion
#region 테이블 뷰 행 무결성 조사시 처리하기 - tableView_ValidateRow(sender, e)
/// <summary>
/// 테이블 뷰 행 무결성 조사시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void tableView_ValidateRow(object sender, GridRowValidationEventArgs e)
{
if(e.Row == null)
{
return;
}
if(e.RowHandle == GridControl.NewItemRowHandle)
{
e.IsValid = !string.IsNullOrEmpty((e.Row as Product).ProductName);
}
}
#endregion
#region 테이블 뷰 무효한 행 예외 처리하기 - tableView_InvalidRowException(sender, e)
/// <summary>
/// 테이블 뷰 무효한 행 예외 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void tableView_InvalidRowException(object sender, InvalidRowExceptionEventArgs e)
{
if(e.RowHandle == GridControl.NewItemRowHandle)
{
e.ErrorText = "Please enter the Product name. ";
e.WindowCaption = "Input Error";
this.gridControl.CurrentColumn = this.gridControl.Columns["ProductName"];
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] PivotGridControl 클래스 : 피벗 그리드 인쇄하고 내보내기 (0) | 2017.12.30 |
---|---|
[DEVEXPRESS/WPF] TreeListControl 클래스 : TOTAL SUMMARY 표시하기 (0) | 2017.12.26 |
[DEVEXPRESS/WPF] GridControl 클래스 : 마스터 행 확장하기/축소하기 (0) | 2017.12.25 |
[DEVEXPRESS/WPF] GridControl 클래스 : 상세 확장 버튼 표시 조정하기 (0) | 2017.12.25 |
[DEVEXPRESS/WPF] GridControl 클래스 : 상세 영역에서 차트 표시하기 (0) | 2017.12.25 |
[DEVEXPRESS/WPF] GridControl 클래스 : 디폴트 값으로 신규 항목 행 초기화 하기 (0) | 2017.12.22 |
[DEVEXPRESS/WPF] GridControl 클래스 : 어트리뷰트 기반 검증하기 (0) | 2017.12.22 |
[DEVEXPRESS/WPF] GridControl 클래스 : 자동으로 생성된 컬럼 커스텀 처리하기 (0) | 2017.12.18 |
[DEVEXPRESS/WPF] NavBarControl 클래스 : 단순 DataTable에 바인딩 하기 (0) | 2017.12.18 |
[DEVEXPRESS/WPF] GridControl 클래스 : 밴드 뷰 생성하기 (0) | 2017.12.17 |
[DEVEXPRESS/WPF] GridControl 클래스 : 그룹 행 확장 방지하기 (0) | 2017.12.16 |
댓글을 달아 주세요