На форме Form3 помещен Grid1, DataSet которого задается программно процедурой
[/SRC]
procedure TForm3.ListBox1Click(Sender: TObject);
Var
AGrid :TDBGrid;
ADataSet :TDataSet;
begin
Edit5.Text:=ListBox1.Items[ListBox1.ItemIndex];
AGrid:= Form2.FindComponent(Edit5.Text) as TDBGrid;
If AGrid<>Nil Then
begin
DBGrid1.DataSource:=AGrid.DataSource;
ADataSet:=AGrid.DataSource.DataSet;
if ADataset is TADOStoredProc then
Begin
Edit6.Text:=TADOStoredProc(ADataset).ProcedureName;
Label7.Caption:=IntToStr(DBGrid1.DataSource.DataSet.RecordCount);
End;
end;
DBGrid1.SetFocus;
end;
[SRC delphi]
При выборе имени Grid-а на форме Form3 фокус устанавливается
на ячейке первой колонки на записи, соответствующей DataSet выбранного Grid-а формы Form2.
Ну а дальше начинаются пляски.
При изменении фокуса Grid-а на форме Form3 (мышкой, клавиатурой) на любую ячейку, расположенную ниже предыдущей,
номер записи DataSet Grid-а на форме Form3 адекватно соответствует новой выбранной ячейки.
А если выбрать ячейку, расположенную выше предыдущей, изменение DataSet Grid-а на форме Form3
как бы замораживается на один выбор.
Победить эти пляски не удается.
Может уже кто-то побеждал? Отзовитесь