[FarPoint Spread]데이터와 헤더라벨을 고려한 컬럼너비 자동조정 구현

seung-jae hwang·2019년 3월 20일
0

Csharp

목록 보기
7/8

///


/// 스프레드 컬럼별 너비를 자동조절(헤더 라벨 고려)
/// 2010-11-12 By KKOMZI : Multi Row Header 고려
///
///
/// 추가로 확장시킬 너비
public static void SetResizeColALL(SheetView fpSheet, int pExtWidth = 10) {
int _headerRowCount = fpSheet.ColumnHeader.RowCount;
fpSheet.RowCount += _headerRowCount;
int _tmpIndex = 0;
for(int rowIdx = 0 ; rowIdx < _headerRowCount ; rowIdx++) {
_tmpIndex = fpSheet.RowCount - rowIdx - 1;
fpSheet.Rows[_tmpIndex].CellType = new GeneralCellType();
for(int colIdx = 0 ; colIdx < fpSheet.ColumnCount ; colIdx++) {
// fpSheet.SetValue(_tmpIndex, colIdx, fpSheet.Columns[colIdx].Label);
fpSheet.SetValue(_tmpIndex, colIdx, fpSheet.ColumnHeader.Cells.Get(rowIdx, colIdx).Value);
}
}
for(int k = 0 ; k < fpSheet.Columns.Count ; k++) {
fpSheet.Columns[k].Width = 0;
fpSheet.Columns[k].Width = Math.Max(fpSheet.ColumnHeader.Columns[k].GetPreferredWidth(), fpSheet.Columns[k].GetPreferredWidth()) + pExtWidth;
// fpSheet.Columns[k].ColWidth = fpSheet.GetPreferredColumnWidth(k, true, true, true);
}
fpSheet.RowCount -= _headerRowCount;
}

0개의 댓글