류동기 wrote:
> DBGRID1 DBGRID2
>
> 01 데이타1
> 02 데이타2
> 03 데이타3
> 04 데이타4
>
> DBGRID1의 값으로 select를 해서 DBGRID2에
> display를 하는 프로그램입니다.
> 그런데 현재위치가 DBGRID1의 04이었을 때 커서를
> 이동하여 03으로 현재위치가 변경될 때 DBGRID2에
> select 되어지는 값은 그대로 04입니다.
>
> procedure TFCode1010.DaeDgDrawDataCell(Sender: TObject; const Rect: TRect;
> Field: TField; State: TGridDrawState);
> var
> i : integer;
> begin
> with Query1 do // dbgrid2에 display될 data select
> begin
> Close;
> SQL.Clear;
> SQL.Add('Select * from ChungDp');
> SQL.Add('where Chungdp_DaeDp = :PChung_Dae');
>
> ParambyName('PChung_Dae').Asstring
> := tbTemp.Fieldbyname('D_code').Asstring;
> // dbgrid1의 data(Daedg.Fields[0].Asstring)를 조건으로
>
> Open;
> end;
>
> for i := 1 to tbtemp1.recordcount do
> tbTemp1.Delete;
>
> Query1.First;
> while not Query1.Eof do
> begin
> with tbTemp1 do
> begin
> Append;
> FieldbyName('C_code').Asstring
> := Query1.Fieldbyname ('ChungDp_Code').Asstring;
> FieldbyName('C_name').Asstring
> := Query1.Fieldbyname('ChungDp_name').Asstring;
> Post;
> end;
> Query1.Next;
> end;
> end;
>
>
Query1의 onAfterScroll 이벤트 에서 해보심 좋을 듯하네요
스코롤이 일어날때 이벤트가 발생합니다.
코딩이 무지막지 합니다요 그려~~~
디비가 파라독스 인가봐여?
tbTemp1을 무자비하게 지우네요...
무자비하게 인써드...
recordcount가 아니라 recordcount-1입니다요...