[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : CustomAppearance 이벤트를 사용해 셀 모양 커스텀 설정하기
DevExpress/WinForm 2020. 5. 14. 21:25728x90
반응형
728x170
▶ MainForm.cs
using System.Data.OleDb;
using System.Drawing;
using DevExpress.Data.PivotGrid;
using DevExpress.XtraEditors;
using DevExpress.XtraPivotGrid;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : XtraForm
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 연결
/// </summary>
private OleDbConnection connection;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
this.connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=nwind.mdb");
this.pivotGridControl.OptionsView.RowTotalsLocation = PivotRowTotalsLocation.Tree;
this.pivotGridControl.DataSource = Order.GetOrderList(this.connection);
this.pivotGridControl.RetrieveFields();
PivotGridField shipCountryField = this.pivotGridControl.Fields["ShipCountry"];
shipCountryField.Area = PivotArea.RowArea;
PivotGridField orderDateField = this.pivotGridControl.Fields["OrderDate"];
orderDateField.Area = PivotArea.ColumnArea;
orderDateField.GroupInterval = PivotGroupInterval.DateYear;
PivotGridField orderIDField = this.pivotGridControl.Fields["OrderID"];
orderIDField.Area = PivotArea.DataArea;
orderIDField.SummaryType = PivotSummaryType.Count;
this.pivotGridControl.BestFit();
this.pivotGridControl.CustomAppearance += pivotGridControl_CustomAppearance;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 피벗 그리드 컨트롤 모양 커스텀 설정하기 - pivotGridControl_CustomAppearance(sender, e)
/// <summary>
/// 피벗 그리드 컨트롤 모양 커스텀 설정하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void pivotGridControl_CustomAppearance(object sender, PivotCustomAppearanceEventArgs e)
{
PivotGridControl pivotGridControl = sender as PivotGridControl;
PivotGridField orderIDField = pivotGridControl.Fields["OrderID"];
if(e.DataField == orderIDField && e.ColumnValueType == PivotGridValueType.Value && e.RowValueType == PivotGridValueType.Value)
{
if(e.Value != null && (int)e.Value > 10)
{
e.Appearance.BackColor = Color.Yellow;
e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold);
}
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요