■ UltraGrid 클래스에서 사용자가 클릭한 밴드를 구하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
using System.Windows.Forms; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; private UltraGrid ultraGrid; private UltraTextEditor ultraTextEditor; ... #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) { e.Layout.Bands[0].HeaderVisible = true; e.Layout.Bands[1].HeaderVisible = true; } #endregion #region UltraGrid 행 초기화 하기 - ultraGrid_InitializeRow(sender, e) /// <summary> /// UltraGrid 행 초기화 하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void ultraGrid_InitializeRow(object sender, InitializeRowEventArgs e) { if(e.Row.Band.Index == 0) { e.Row.ExpandAll(); } } #endregion #region UltraGrid 마우스 UP 처리하기 - ultraGrid_MouseUp(sender, e) /// <summary> /// UltraGrid 마우스 UP 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void ultraGrid_MouseUp(object sender, MouseEventArgs e) { UIElement uiElement = this.ultraGrid.DisplayLayout.UIElement.ElementFromPoint(e.Location); if(uiElement == null) { return; } UltraGridBand ultraGridBand = null; UltraGridRow ultraGridRow = uiElement.GetContext(typeof(UltraGridRow)) as UltraGridRow; if(ultraGridRow != null) { ultraGridBand = this.ultraGrid.DisplayLayout.Bands[ultraGridRow.Band.Index]; } if(ultraGridBand == null) { UltraGridColumn ultraGridColumn = uiElement.GetContext(typeof(UltraGridColumn)) as UltraGridColumn; if(ultraGridColumn != null) { ultraGridBand = this.ultraGrid.DisplayLayout.Bands[ultraGridColumn.Band.Index]; } } if(ultraGridBand != null) { this.ultraTextEditor.Text = "Band(" + ultraGridBand.Index.ToString() + ")"; } else { this.ultraTextEditor.Text = "* no band associcated with this location"; } } #endregion |