------------------------------------------
| | | |
|과장 | 대리 | 사원 |
------------------------------------------
영업부 | 1 | 2 | |
------------------------------------------
총무부 | | 1 | |
------------------------------------------
기계부 | 1 | | 1 |
------------------------------------------
합 계 | | | | |
------------------------------------------
위의 그림에서 스트링그리드에서 컬럼의 합계를 구하고 싶습니다.
디비에서 쿼리한 결과( 1, 2)를 컬럼과 로우의 리턴값을 구해 바로 뿌려준것입니다.
각각의 컬럼의 합계를 어떻게 구해서 뿌려줘야 할지 답답합니다.
한델 팁중에서
procedure GridTotal;
var
r:Integer;
total:Double;
begin
total:='0';
with grid1 do begin
for i:=0 to rowcount-1 do begin
total:=total+ StrToFloat(cells[1,i]);
end;
Cells[1,소계가 들어갈 Row번호]:= FloatToStrF(total,ffNumber,10,0);
end;
end;
가지고 해보려고 했는데 --- '' IS NOT A VALID DOUBLE VALUE ----
에러가 납니다....환장합니다. 원인이 몬지!
이거 해결해야 낼 세미나 참석할수 있는데...........도와주세요.
> ------------------------------------------
> | | | |
> |과장 | 대리 | 사원 |
> ------------------------------------------
> 영업부 | 1 | 2 | |
> ------------------------------------------
> 총무부 | | 1 | |
> ------------------------------------------
> 기계부 | 1 | | 1 |
> ------------------------------------------
> 합 계 | | | | |
> ------------------------------------------
>
> 위의 그림에서 스트링그리드에서 컬럼의 합계를 구하고 싶습니다.
>
>
> 디비에서 쿼리한 결과( 1, 2)를 컬럼과 로우의 리턴값을 구해 바로 뿌려준것입니다.
>
> 각각의 컬럼의 합계를 어떻게 구해서 뿌려줘야 할지 답답합니다.
>
> 한델 팁중에서
>
> procedure GridTotal;
> var
> r:Integer;
> total:Double;
> begin
> total:='0';
> with grid1 do begin
> for i:=0 to rowcount-1 do begin
> total:=total+ StrToFloat(cells[1,i]);
> end;
> Cells[1,소계가 들어갈 Row번호]:= FloatToStrF(total,ffNumber,10,0);
> end;
> end;
>
> 가지고 해보려고 했는데 --- '' IS NOT A VALID DOUBLE VALUE ----
> 에러가 납니다....환장합니다. 원인이 몬지!
>
> 이거 해결해야 낼 세미나 참석할수 있는데...........도와주세요.
>
안녕하세요.
만약 소수점이하가 필요없다면 StrToIntDef()함수를 써보시죠.
total:= total+StrToIntDef(cells[1,i]);
integer도 웬만한 큰값은 감당하니까요.
아님, OnDrawCell이벤트에 공백이 있는 경우 해당 데이타를 '0'으로 만들게 한 후 계산하면 될 것같은데요.