왕초보가 작업을 하다가 궁금해서 적어봅니다.
순번 값
1 1,000
2 2,502
3 3,505
4 4,400
5 5,600
6 6,890
7 7,800
그리드(AdvStringGrid7)에 예를들어 값이 1부터 7까지 잇다고 가정햇을때
Edit1.text에 그 합산값을 보여주는 건데 워낙 기초적인거라 챙피함을 무릎쓰고 물어봅니다.
가르쳐주세요.ㅠ.ㅠ
저도 초보라 정확한 답이라고는 할 수 없지만...
AdvStringGrid를 사용하시는 거면 단순하게 ... 전 아래와 같이 사용했습니다.
with AdvStringGrid do
begin
Edit1.Text := FloatToStr(ColumnSum(FixedRows, RowCount -1));
end;
여기서 FixedRows는 그리드의 헤더 입니다. 아시다 시피 AdvStringGrid는 Header도 Row 로 들어가기 때문에 위 예제처럼 보시면 순번, 값 이 Header가 되겠지요...
위 방법이 아니라면 값들을 전부 더해주는 방식...
var tmp: Double;
tmp := 0;
for i := 0 to AdvStringGrid.RowCount -1 do
tmp := tmp + AdvStringGrid.Floats[1, i];
Edit1.Text := FloatToStr(tmp);
이런 방법을 쓰곤 하는데 원하시는 답이 될지...
저도 아직 배우는 단계라 코딩이 깔끔하거나 정리화 된것이 아니라...^^
로그인 상태 유지
저도 초보라 정확한 답이라고는 할 수 없지만...
AdvStringGrid를 사용하시는 거면 단순하게 ... 전 아래와 같이 사용했습니다.
with AdvStringGrid do
begin
Edit1.Text := FloatToStr(ColumnSum(FixedRows, RowCount -1));
end;
여기서 FixedRows는 그리드의 헤더 입니다. 아시다 시피 AdvStringGrid는 Header도 Row 로 들어가기 때문에 위 예제처럼 보시면 순번, 값 이 Header가 되겠지요...
위 방법이 아니라면 값들을 전부 더해주는 방식...
var tmp: Double;
tmp := 0;
for i := 0 to AdvStringGrid.RowCount -1 do
begin
tmp := tmp + AdvStringGrid.Floats[1, i];
end;
Edit1.Text := FloatToStr(tmp);
이런 방법을 쓰곤 하는데 원하시는 답이 될지...
저도 아직 배우는 단계라 코딩이 깔끔하거나 정리화 된것이 아니라...^^