첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ PivotGridControl 클래스 : CustomCellEditForEditing 이벤트를 사용해 편집시 셀 에디터 커스텀 설정하기

------------------------------------------------------------------------------------------------------------------------


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 RepositoryItemTextEdit repositoryItemTextEdit = new RepositoryItemTextEdit();

 

        /// <summary>

        /// 저장소 항목 진행바

        /// </summary>

        private RepositoryItemProgressBar repositoryItemProgressBar = new RepositoryItemProgressBar();

 

        #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.repositoryItemTextEdit,

                    this.repositoryItemProgressBar

                }

            );

 

            this.pivotGridControl.CustomCellValue          += pivotGridControl_CustomCellValue;

            this.pivotGridControl.CustomCellEdit           += pivotGridControl_CustomCellEdit;

            this.pivotGridControl.CustomCellEditForEditing += pivotGridControl_CustomCellEditForEditing;

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Private

 

        #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 = Math.Round(Convert.ToDecimal(e.Value) * 100, 2);

            }

        }

 

        #endregion

        #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 & e.RowValueType == PivotGridValueType.Value)

            {

                e.RepositoryItem = this.repositoryItemProgressBar;

            }

        }

 

        #endregion

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

 

        /// <summary>

        /// 피벗 그리드 컨트롤 편집시 셀 에디터 커스텀 설정하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        private void pivotGridControl_CustomCellEditForEditing(object sender, PivotCustomCellEditEventArgs e)

        {

            if(e.DataField == this.quantityPercentField & e.RowValueType == PivotGridValueType.Value)

            {

                e.RepositoryItem = this.repositoryItemTextEdit;            

            }

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

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

[DEVEXPRESS/WINFORM] PivotGridControl 클래스 : Groups 속성을 사용해 필드 그룹 설정하기  (0) 2020.05.08
[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
Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요