첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

TestProject.zip
다운로드

▶ MainForm.cs

using System;

using DevExpress.Data.PivotGrid;
using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraPivotGrid;

namespace TestProject
{
    /// <summary>
    /// 메인 폼
    /// </summary>
    public partial class MainForm : XtraForm
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Field
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region Field

        /// <summary>
        /// 저장소 항목 진행바
        /// </summary>
        private RepositoryItemProgressBar repositoryItemProgressBar = new RepositoryItemProgressBar();

        /// <summary>
        /// 저장소 항목 스핀 에디터
        /// </summary>
        private RepositoryItemSpinEdit repositoryItemSpinEdit = new RepositoryItemSpinEdit();

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
        ////////////////////////////////////////////////////////////////////////////////////////// Public

        #region 생성자 - MainForm()

        /// <summary>
        /// 생성자
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            this.tableAdapter.Fill(this.nwindDataSet.SalesPerson);

            this.quantityPercentField.SummaryDisplayType      = PivotSummaryDisplayType.PercentOfColumn;
            this.quantityPercentField.CellFormat.FormatType   = FormatType.Custom;
            this.quantityPercentField.CellFormat.FormatString = "{0}%";

            this.pivotGridControl.RepositoryItems.AddRange
            (
                new RepositoryItem[]
                {
                    this.repositoryItemProgressBar,
                    this.repositoryItemSpinEdit
                }
            );
            
            this.pivotGridControl.CustomCellEdit  += pivotGridControl_CustomCellEdit;
            this.pivotGridControl.CustomCellValue += pivotGridControl_CustomCellValue;
        }

        #endregion

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Private

        #region 피벗 그리드 컨트롤 셀 에디터 커스텀 설정하기 - pivotGridControl_CustomCellEdit(sender, e)

        /// <summary>
        /// 피벗 그리드 컨트롤 셀 에디터 커스텀 설정하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void pivotGridControl_CustomCellEdit(object sender, PivotCustomCellEditEventArgs e)
        {
            if(e.DataField == this.quantityPercentField)
            {
                if(e.RowValueType == PivotGridValueType.Value)
                {
                    e.RepositoryItem = this.repositoryItemProgressBar;
                }

                if(e.RowValueType == PivotGridValueType.GrandTotal)
                {
                    e.RepositoryItem = this.repositoryItemSpinEdit;
                }
            }
        }

        #endregion
        #region 피벗 그리드 컨트롤 셀 값 커스텀 설정하기 - pivotGridControl_CustomCellValue(sender, e)

        /// <summary>
        /// 피벗 그리드 컨트롤 셀 값 커스텀 설정하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="e">이벤트 인자</param>
        private void pivotGridControl_CustomCellValue(object sender, PivotCellValueEventArgs e)
        {
            if(e.DataField == this.quantityPercentField)
            {
                e.Value = Convert.ToDecimal(e.Value) * 100;
            }
        }

        #endregion
    }
}
728x90
반응형
그리드형

'DevExpress > WinForm' 카테고리의 다른 글

[DEVEXPRESS/WINFORM] PivotGridField 클래스 : KPIGraphic 속성을 사용해 KPI(Key Performance Indicator) 그래픽스 출력하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : FormatRules 속성을 사용해 피벗 그리드 데이터에 포맷 규칙 설정하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] PivotGridField 클래스 : ValueFormat 속성을 사용해 데이터 포맷 설정하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : ShowingEditor 이벤트를 사용해 개별 셀에서 인라인 에디터 비활성화하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : CustomCellEditForEditing 이벤트를 사용해 편집시 셀 에디터 커스텀 설정하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : CustomCellEdit 이벤트를 사용해 셀 에디터 커스텀 설정하기  (0) 2020.05.08
[DEVEXPRESS/WINFORM] GridView 클래스 : FocusInvalidRow 메소드를 사용해 포커스를 INVALID 행으로 이동시키기  (0) 2020.05.07
[DEVEXPRESS/WINFORM] PivotGridField 클래스 : SummaryFilter 속성을 사용해 SUMMARY 필터 설정하기  (0) 2020.05.07
[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : ActiveFilterCriteria 속성을 사용해 필터 설정하기  (0) 2020.05.07
[DEVEXPRESS/WINFORM] Prefilter 클래스 : CriteriaString 속성을 사용해 사전 필터 설정하기  (0) 2020.05.07
[DEVEXPRESS/WINFORM] PivotGridField 클래스 : FilterValues 속성을 사용해 필터 설정하기  (0) 2020.05.06
Posted by 사용자 icodebroker

댓글을 달아 주세요