티스토리 뷰
// Footer 만들기 위해 컬럼 배열로...
private void Footer(UltraWebGrid grid, DataTable datatable, string columns, string titleColumn)
{
GridFooterTotal(grid, datatable, columns.Split(','), titleColumn); // 배열로 만든 컬럼으로 Total 함수 호출
}
// 최종 Footer 생성 (footer 계산)
private void GridFooterTotal(UltraWebGrid grid, DataTable datatable, string[] columns, string titleColumn)
{
grid.DisplayLayout.ColFootersVisibleDefault = ShowMarginInfo.Yes;
grid.DisplayLayout.StationaryMargins = StationaryMargins.HeaderAndFooter;
foreach (string columnName in columns)
{
UltraGridColumn column = grid.Columns.FromKey(columnName.Trim());
column.Footer.Style.HorizontalAlign = HorizontalAlign.Right;
column.Footer.Style.Padding.Right = 2;
if (columnName == "rate")
{
string totalpqty = grid.Columns.FromKey("pqty").Footer.Caption.Replace(",", "");
string totalrqty = grid.Columns.FromKey("rqty").Footer.Caption.Replace(",", "");
decimal rate = (NullCheck(totalrqty) / NullCheck(totalpqty)) * 100;
column.Footer.Caption = rate.ToString("###,###,###,###.##");
}
else if (columnName == "monrate")
{
string totalpamt = grid.Columns.FromKey("pamt").Footer.Caption.Replace(",", "");
string totalramt = grid.Columns.FromKey("ramt").Footer.Caption.Replace(",", "");
decimal monrate = (NullCheck(totalpamt) / NullCheck(totalramt)) * 100;
column.Footer.Caption = monrate.ToString("###,###,###,###.##");
}
else
{
column.Footer.Caption = datatable.AsEnumerable().Sum(r => NullCheck(r[columnName.Trim()])).ToString("###,###,###,###.##");
}
}
if (string.IsNullOrEmpty(titleColumn))
{
grid.Columns[0].Footer.Caption = CM.TotalText;
}
else
{
grid.Columns[0].Footer.Caption = "";
grid.Columns.FromKey(titleColumn).Footer.Caption = CM.TotalText;
}
}
// null 체크 (decimal로 변경시 공백으로 들어갈 경우 convert가 되지 않으며 error가 나므로 0으로 변경한다.)
public static decimal NullCheck(object d)
{
if (d == null || d == DBNull.Value || string.IsNullOrEmpty(d.ToString()))
return 0;
return Convert.ToDecimal(d);
}
이거 땜에 몇일 고생했는데... 이긍.. null값 때문일 줄이야... 잊어먹지는 않겠군,,,
'프로그램 > C#' 카테고리의 다른 글
[Server Side] null 체크 (0) | 2010.10.11 |
---|---|
[Server Side] Footer 핸드링 (0) | 2010.09.30 |
[Client Side] activeRow 획득하기 (0) | 2010.09.29 |
[Server Side] 조회조건 일자 초기 셋팅 (0) | 2010.09.29 |
[Client Side] grid_AfterCellUpdate 함수의 cellId 활용법 (1) (0) | 2010.09.28 |
- Total
- Today
- Yesterday
- 맛집
- 티스토리 초대
- 간절곶 맛집
- 대구 카페 추천
- 우리동네 카페
- 장현 카페
- 울산 예쁜 카페
- 울산 북구 맛집
- 운정신도시
- 티스토리초대장
- 삼척 추천여행지
- 장현동 카페
- 울산 추천 카페
- 삼척 추천 여행지
- 리스트뷰
- PowerBuilder
- 센서
- 티스토리 초대장
- 울산 카페 추천
- 안드로이드
- 트리거
- 안드로이드 강좌
- 울산 맛집
- MSsql
- 파워빌더
- 태그를 입력해 주세요.
- trigger
- 울산 중구 카페
- 초대장
- 울산 카페
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |