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

728x90
반응형

■ GridView 클래스 : CellMerge 이벤트를 사용해 셀 병합하기

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

using System.Data;

 

using DevExpress.XtraGrid.Views.Grid;

 

#region 그리드 뷰 셀 병합시 처리하기 - gridView_CellMerge(sender, e)

 

/// <summary>

/// 그리드 뷰 셀 병합시 처리하기

/// </summary>

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

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

private void gridView_CellMerge(object sender, CellMergeEventArgs e)

{

    GridView gridView = sender as GridView;

 

    // 계약금액, 계약원화금액 컬럼에 대해서만 처리한다.

    if(e.Column.FieldName == "ContractAmount" || e.Column.FieldName == "ContractWONAmount")

    {

        DataRow row1 = gridView.GetDataRow(e.RowHandle1); // 비교 상위 행

        DataRow row2 = gridView.GetDataRow(e.RowHandle2); // 비교 하위 행

 

        string budgetSubjectCode1 = row1["BudgetSubjectCode"].ToString(); // 예산과목코드

        string budgetSubjectCode2 = row2["BudgetSubjectCode"].ToString(); // 예산과목코드

 

        string currencyCode1 = row1["CurrencyCode"].ToString(); // 통화코드

        string currencyCode2 = row2["CurrencyCode"].ToString(); // 통화코드

 

        // 예산과목코드가 같은 경우

        if(budgetSubjectCode1 == budgetSubjectCode2)

        {

            // 통화코드가 같은 경우

            if(currencyCode1 == currencyCode2)

            {

                // 셀을 병합한다.

                e.Merge = true;

            }

            else // 통화코드가 같지 않은 경우

            {

                // 셀을 병합하지 않는다.

                e.Merge = false;

            }

        }

        else // 예산과목코드가 같지 않은 경우

        {

            // 셀을 병합하지 않는다.

            e.Merge = false;

        }

 

        e.Handled = true;

    }

}

 

#endregion

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

728x90
반응형
Posted by 사용자 icodebroker

댓글을 달아 주세요