■ PivotGridControl 클래스에서 피벗 데이터를 구하는 방법을 보여준다.
▶ 예제 코드 (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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
using System.Collections.Generic; using System.Text; using DevExpress.XtraPivotGrid; #region CSV 데이터 구하기 - GetCSVData(pivotGridControl) /// <summary> /// CSV 데이터 구하기 /// </summary> /// <param name="pivotGridControl">피벗 그리드 컨트롤</param> /// <returns>CSV 데이터</returns> public string GetCSVData(PivotGridControl pivotGridControl) { StringBuilder stringBuilder = new StringBuilder(); PivotGridCells cells = pivotGridControl.Cells; List<PivotGridField> columnFieldList = pivotGridControl.GetFieldsByArea(PivotArea.ColumnArea); List<PivotGridField> rowFieldList = pivotGridControl.GetFieldsByArea(PivotArea.RowArea ); if(cells.RowCount > 0) { #region 컬럼 필드 값을 출력한다. for(int y = 0; y < columnFieldList.Count; y++) { for(int x = 0; x < cells.ColumnCount; x++) { PivotCellEventArgs e = pivotGridControl.Cells.GetCellInfo(x, 0); if(x == 0) { #region 행 필드 값을 출력한다. for(int z = 0; z < rowFieldList.Count; z++) { if(z > 0) { stringBuilder.Append(","); } } #endregion } stringBuilder.Append(","); PivotGridField columnField = columnFieldList[y]; if(columnField == null) { continue; } object columnValue = e.GetFieldValue(columnField); if(columnValue != null) { stringBuilder.Append(columnValue); } } stringBuilder.AppendLine(); } #endregion } for(int y = 0; y < cells.RowCount; y++) { for(int x = 0; x < cells.ColumnCount; x++) { #region 셀 값을 출력한다. PivotCellEventArgs e = pivotGridControl.Cells.GetCellInfo(x, y); if(x == 0) { #region 해당 셀의 행 필드 값을 출력한다. for(int z = 0; z < rowFieldList.Count; z++) { if(z > 0) { stringBuilder.Append(","); } PivotGridField rowField = rowFieldList[z]; if(rowField == null) { continue; } object rowValue = e.GetFieldValue(rowField, y); if(rowValue != null) { stringBuilder.Append(rowValue); } } #endregion } stringBuilder.Append(","); if(e.Value != null) { stringBuilder.Append(e.Value.ToString()); } #endregion } stringBuilder.AppendLine(); } return stringBuilder.ToString(); } #endregion |