[DEVEXPRESS/WINFORM] LayoytView 클래스 : CustomFieldValueStyle 이벤트를 사용해 필드 값 스타일 커스텀 설정하기
DevExpress/WinForm 2020. 4. 26. 16:54728x90
728x170
▶ MainForm.cs
using System.Drawing;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Layout;
using DevExpress.XtraGrid.Views.Layout.Events;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : XtraForm
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
this.layoutView.OptionsBehavior.AutoPopulateColumns = true;
this.gridControl.DataSource = new nwindDataSetTableAdapters.CustomersTableAdapter().GetData();
this.layoutView.CustomFieldCaptionStyle += layoutView_CustomFieldCaptionStyle;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 레이아웃 뷰 필드 값 스타일 커스텀 설정하기 - layoutView_CustomFieldValueStyle(sender, e)
/// <summary>
/// 레이아웃 뷰 필드 값 스타일 커스텀 설정하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void layoutView_CustomFieldValueStyle(object sender, LayoutViewFieldValueStyleEventArgs e)
{
if(e.Column.FieldName != "City")
{
return;
}
LayoutView layoutView = sender as LayoutView;
bool isLondon = layoutView.GetRowCellValue(e.RowHandle, "City").ToString() == "London";
if(isLondon)
{
e.Appearance.ForeColor = Color.Red;
}
}
#endregion
}
}
728x90
그리드형(광고전용)