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

728x90
반응형
728x170

▶ UltraGrid 클래스 : ICondition 인터페이스를 구현해 조건 포맷팅 설정하기 예제

using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;

private UltraGrid ultraGrid;

private CustomCondition customCondition = new CustomCondition("Owner");

...

Infragistics.Win.Appearance customAppearance = new Infragistics.Win.Appearance();

customAppearance.BackColor = Color.Blue;
customAppearance.ForeColor = Color.White;


ConditionValueAppearance conditionValueAppearance = new ConditionValueAppearance();

conditionValueAppearance.Add(this.customCondition, customAppearance);


this.ultraGrid.DisplayLayout.Bands[0].Columns["ContactTitle"].ValueBasedAppearance = conditionValueAppearance;

※ this.customCondition.ValueToCheck 속성을 설정해 체크 값을 변경할 수 있다.

 

▶ UltraGrid 클래스 : ICondition 인터페이스를 구현해 조건 포맷팅 설정하기

using System;

using Infragistics.Win;

/// <summary>
/// 커스텀 조건
/// </summary>
public class CustomCondition : ICondition
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Event
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 속성 변경시 - PropertyChanged

    /// <summary>
    /// 속성 변경시
    /// </summary>
    public event EventHandler PropertyChanged;

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Private

    #region Field

    /// <summary>
    /// 체크 값
    /// </summary>
    private string valueToCheck = string.Empty;

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Property
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 체크 값 - ValueToCheck

    /// <summary>
    /// 체크 값
    /// </summary>
    public string ValueToCheck
    {
        get
        {
            return this.valueToCheck;
        }

        set
        {
            this.valueToCheck = value;

            if(PropertyChanged != null)
            {
                PropertyChanged(this, new EventArgs());
            }
        }
    }

    #endregion

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

    #region 생성자 - CustomCondition(valueToCheck)

    /// <summary>
    /// 생성자
    /// </summary>
    /// <param name="valueToCheck">체크 값</param>
    public CustomCondition(string valueToCheck)
    {
        this.valueToCheck = valueToCheck;
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 복제하기 - Clone()

    /// <summary>
    /// 복제하기
    /// </summary>
    /// <returns>복제 객체</returns>
    public object Clone()
    {
        return null;
    }

    #endregion

    #region 일치 여부 구하기 - Matches(value, conditionContextProvider)

    /// <summary>
    /// 일치 여부 구하기
    /// </summary>
    /// <param name="value">값</param>
    /// <param name="conditionContextProvider">IConditionContextProvider</param>
    /// <returns>일치 여부</returns>
    public bool Matches(object value, IConditionContextProvider conditionContextProvider)
    {
        if(value != null)
        {
            return (value.ToString().Equals(this.valueToCheck));
        }

        return false;
    }

    #endregion
}
728x90
반응형
그리드형(광고전용)
Posted by 사용자 icodebroker

댓글을 달아 주세요