[C#/WINFORM/INFRAGISTICS] UltraGrid 클래스 : 레벨을 사용해 멀티-행 레이아웃 생성하기


■ UltraGrid 클래스 : 레벨을 사용해 멀티-행 레이아웃 생성하기
————————————————————————————————————————
using System.Data;

using Infragistics.Win.UltraWinGrid;

private UltraGrid ultraGrid;

#region 폼 로드시 처리하기 – Form_Load(sender, e)

/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
this.ultraGrid.InitializeLayout += ultraGrid_InitializeLayout;

this.ultraGrid.DataSource = GetDataTable();
}

#endregion

#region UltraGrid 레이아웃 초기화 하기 – ultraGrid_InitializeLayout(sender, e)

/// <summary>
/// UltraGrid 레이아웃 초기화 하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void ultraGrid_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
UltraGrid ultraGrid = sender as UltraGrid;

UltraGridBand ultraGridBand = ultraGrid.DisplayLayout.Bands[0];

UltraGridGroup personUltraGridGroup = ultraGridBand.Groups.Add("Person");
UltraGridGroup scoreUltraGridGroup = ultraGridBand.Groups.Add("Score");

ultraGridBand.Columns["Sequence"].Group = personUltraGridGroup;
ultraGridBand.Columns["Name" ].Group = personUltraGridGroup;
ultraGridBand.Columns["Sex" ].Group = personUltraGridGroup;
ultraGridBand.Columns["Grade" ].Group = personUltraGridGroup;
ultraGridBand.Columns["Korean" ].Group = scoreUltraGridGroup;
ultraGridBand.Columns["English" ].Group = scoreUltraGridGroup;
ultraGridBand.Columns["Math" ].Group = scoreUltraGridGroup;
ultraGridBand.Columns["Science" ].Group = scoreUltraGridGroup;

ultraGridBand.LevelCount = 2;

ultraGridBand.Columns["Sequence"].Level = 0;
ultraGridBand.Columns["Name" ].Level = 0;
ultraGridBand.Columns["Sex" ].Level = 0;
ultraGridBand.Columns["Grade" ].Level = 0;
ultraGridBand.Columns["Korean" ].Level = 0;
ultraGridBand.Columns["English" ].Level = 0;
ultraGridBand.Columns["Math" ].Level = 0;
ultraGridBand.Columns["Science" ].Level = 0;
ultraGridBand.Columns["Math" ].Level = 1;
ultraGridBand.Columns["Science" ].Level = 1;
}

#endregion

#region 데이터 테이블 구하기 – GetDataTable()

/// <summary>
/// 데이터 테이블 구하기
/// </summary>
/// <returns>데이터 테이블</returns>
private DataTable GetDataTable()
{
DataTable table = new DataTable();

table.Columns.Add("Sequence", typeof(int ));
table.Columns.Add("Name" , typeof(string));
table.Columns.Add("Sex" , typeof(string));
table.Columns.Add("Grade" , typeof(string));
table.Columns.Add("Korean" , typeof(double));
table.Columns.Add("English" , typeof(double));
table.Columns.Add("Math" , typeof(double));
table.Columns.Add("Science" , typeof(double));

table.Rows.Add(1, "홍길동", "남자", "1", 100, 95, 100, 85 );
table.Rows.Add(2, "김철수", "남자", "2", 100, 85, 90 , 95 );
table.Rows.Add(3, "김영희", "여자", "3", 90 , 90, 95 , 100);

table.AcceptChanges();

return table;
}

#endregion
————————————————————————————————————————

분류

보관함