첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

TestProject.zip
다운로드

▶ MainForm.cs

using System.Drawing;

using DevExpress.Utils;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.CustomEditor;
using DevExpress.XtraGauges.Core.Model;
using DevExpress.XtraGauges.Win;
using DevExpress.XtraGauges.Win.Gauges.State;
using DevExpress.XtraGrid.Views.Grid;

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

        #region 생성자 - MainForm()

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

            #region 게이지 컨트롤을 설정한다.

            GaugeControl gaugeControl = new GaugeControl();

            gaugeControl.Size = new Size(100, 200);

            #endregion
            #region 상태 지시자 게이지를 설정한다.

            StateIndicatorGauge stateIndicatorGauge = gaugeControl.AddStateIndicatorGauge();

            #endregion
            #region 상태 지시자 컴포넌트를 설정한다.

            StateIndicatorComponent stateIndicatorComponent = stateIndicatorGauge.AddIndicator();

            stateIndicatorComponent.Size = new SizeF(100, 200);

            StateIndicatorShapeType[] stateIndicatorShapeTypeArray = new StateIndicatorShapeType[]
            {
                StateIndicatorShapeType.TrafficLight1,
                StateIndicatorShapeType.TrafficLight2,
                StateIndicatorShapeType.TrafficLight3,
                StateIndicatorShapeType.TrafficLight4
            };

            stateIndicatorComponent.States.Clear();

            foreach(StateIndicatorShapeType stateIndicatorShapeType in stateIndicatorShapeTypeArray)
            {
                IndicatorState indicatorState = new IndicatorState();

                indicatorState.ShapeType = stateIndicatorShapeType;

                stateIndicatorComponent.States.Add(indicatorState);
            }

            stateIndicatorComponent.StateIndex = 1;

            #endregion
            #region 그리드 컨트롤을 설정한다.

            this.gridView.InitializeView
            (
                true,                           // Multi Select
                GridMultiSelectMode.CellSelect, // Grid Multi Select Mode
                DrawFocusRectStyle.CellFocus,   // Draw Focus Rect Style
                true,                           // Show Indicator
                true,                           // Show Column Headers
                true,                           // Allow Column Moving
                true,                           // Allow Column Resizing
                true,                           // Allow Filter
                true,                           // Allow Sort
                false,                          // Allow Cell Merge
                EditorShowMode.Default,         // Editor Show Mode
                false                           // Editable
            );

            this.gridView.OptionsBehavior.AutoPopulateColumns = true;

            this.gridControl.DataSource = SampleTaskList.GetSampleTaskList();

            RepositoryItemAnyControl repositoryItemAnyControl = new RepositoryItemAnyControl();

            repositoryItemAnyControl.Control = gaugeControl;

            this.gridControl.RepositoryItems.Add(repositoryItemAnyControl);

            this.gridView.Columns["Severity"].ColumnEdit = repositoryItemAnyControl;

            this.gridView.BestFitColumns();

            #endregion
        }

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

댓글을 달아 주세요