디비그리드에서 한셀을 클릭해주면 각각의
에디트 박스에 한 레코드 자료를 가지고 오는 방법이 잘 안되네요
제 소스는 이렇습니다.
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
CodeEd.Text := Qr_VCD.FieldByName('Code').AsString;
NameEd.Text := Qr_Vcd.FieldByName('Name').AsString;
ActEd.Text := Qr_Vcd.FieldByName('Act').AsString;
ContryEd.Text := Qr_Vcd.FieldByName('Contry').AsString;
ComboBox1.Text := Qr_Vcd.FieldByName('Taste').AsString;
ContryEd.Text := Qr_Vcd.FieldByName('Memo').AsString;
ActiveControl := CodeEd;
end;
TDataSource의 OnDataChange 이벤트에
procedure TForm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
CodeEd.Text := Qr_VCD.FieldByName('Code').AsString;
NameEd.Text := Qr_Vcd.FieldByName('Name').AsString;
ActEd.Text := Qr_Vcd.FieldByName('Act').AsString;
ContryEd.Text := Qr_Vcd.FieldByName('Contry').AsString;
ComboBox1.Text := Qr_Vcd.FieldByName('Taste').AsString;
ContryEd.Text := Qr_Vcd.FieldByName('Memo').AsString;
ActiveControl := CodeEd;
end;
이런식으로 코딩을 하면 Focus가 그리드상에 있을때 방향키로 움지이게되면
자동으로 바뀐 레코드내용을 보여주게 되지요
그리고 다른분이 말씀하신것처럼 Null값체크를 해주는것도 잊지마시구요...
즐코딩하세요...
박진수 wrote:
> 디비그리드에서 한셀을 클릭해주면 각각의
>
> 에디트 박스에 한 레코드 자료를 가지고 오는 방법이 잘 안되네요
>
> 제 소스는 이렇습니다.
>
> procedure TForm1.DBGrid1CellClick(Column: TColumn);
> begin
> CodeEd.Text := Qr_VCD.FieldByName('Code').AsString;
> NameEd.Text := Qr_Vcd.FieldByName('Name').AsString;
> ActEd.Text := Qr_Vcd.FieldByName('Act').AsString;
> ContryEd.Text := Qr_Vcd.FieldByName('Contry').AsString;
> ComboBox1.Text := Qr_Vcd.FieldByName('Taste').AsString;
> ContryEd.Text := Qr_Vcd.FieldByName('Memo').AsString;
> ActiveControl := CodeEd;
> end;
>