1. Table 쿼리를 했습니다
2. 쿼리한 결과를 스트링그리드에 뿌려줍니다.
3. 그런데 그 쿼리한 결과가 수백개라서 스트링그리드의 셀을 일일이 정해주면서 값을
넣어 줄 수 없습니다.
4. 얘기를 들어보니 RowCount를 하나씩 늘려가면서 데이타를 출력할 수 있다고 하는데..
그렇게 하면 Space낭비도 없다고 들었는데.. 제 머리가 안돌아가서요..
혹시 간단한 소스라도 있으면 올려주세요..
5. 지금은 그거 하나만 해결하면 원이 없겠습니다.
꼭 좀 부탁드립니다. 죄송하지만 소스에 설명까지 곁들여 주시면 더더욱 감사하겠습
니다.
> 1. Table 쿼리를 했습니다
> 2. 쿼리한 결과를 스트링그리드에 뿌려줍니다.
> 3. 그런데 그 쿼리한 결과가 수백개라서 스트링그리드의 셀을 일일이 정해주면서 값을
> 넣어 줄 수 없습니다.
> 4. 얘기를 들어보니 RowCount를 하나씩 늘려가면서 데이타를 출력할 수 있다고 하는데..
> 그렇게 하면 Space낭비도 없다고 들었는데.. 제 머리가 안돌아가서요..
> 혹시 간단한 소스라도 있으면 올려주세요..
>
> 5. 지금은 그거 하나만 해결하면 원이 없겠습니다.
>
> 꼭 좀 부탁드립니다. 죄송하지만 소스에 설명까지 곁들여 주시면 더더욱 감사하겠습
> 니다.
예를 들어 테이블에서 두개의 필드값을 얻는다고 하면,
var
i : integer;
begin
with query do
begin
close;
sql.Clear;
sql.Add('select 필드1, 필드2 from 테이블');
open;
first;
i := 1;
StringGrid.RowCount := RecordCount + 1;
//그리드의 제목을 고려해 레코드수보다 1개를 더한 값을 RowCount로 해 줍니다.
while not eof do
begin
StopStringGrid.Cells[0,i] := FieldByName('필드1').asstring;
StopStringGrid.Cells[1,i] := FieldByName('필드2').asstring;
//각 셀에 처음부터 값을 넣어줍니다.
Next;
inc(i); //셀 인덱스를 증가시켜 줍니다
end;
close;
end;
end;