![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить значение записи в таблице, на которой стоит курсор? [D7]
nitro © (2004-05-24 10:12:00)Гуру, подскажите, есть Table, есть DBgrid. Курсор стоит на некоторой записи. Как получить это значение?
sniknik (2004-05-24 14:10:00) [1]еще логичнее использовать события которые меняют это значение, т.е. если он стоял стоял, а потом вдруг раз и перевстал на другую запись, а у нас сразу свежее значение.
к примеру
procedure TForm1.DBGrid2ColEnter(Sender: TObject);
begin
Label1.Caption:= TDBGrid(Sender).SelectedField.AsString;
end;
procedure TForm1.ClientDataSet1AfterScroll(DataSet: TDataSet);
begin
DBGrid2ColEnter(DBGrid2);
end;
Соловьев (2004-05-24 14:04:00) [2]
> [4] bushmen © (24.05.04 13:57)
так как название Table может поменяться.
Хотя, тут наверное еще логичнее было бы обработать событие у Набора данных OnAfterScroll и там заполнить нужные переменные. :)
bushmen (2004-05-24 13:57:00) [3]>Соловьев © (24.05.04 13:44) [3]
Чем логичнее ?
Соловьев (2004-05-24 13:44:00) [4]Логичнее было бы использовать DataSource грида:
Label.Caption := Grid.DataSource.DataSet.FieldbyName('field1').AsString;
Sergey (2004-05-24 13:16:00) [5]Судя по вопросу ты такойже новичок как и я
Получить значение текущей записи можно след. образом
A := Table1Field1.Value;
A := Table1.FieldByName('Field1').Value;
A := Table1.FieldByName('Field1').AsString; // AsInteger, AsFloat и т.д.
A := Table1.FieldValues['Field1'];
A := Table1.['Field1'];
A := Table1.Fields.Fields[1].Value;
A := Table1.Fields.Fields[1].AsString; // AsInteger, AsFloat
Я обычно пользуюсь 3 вариантом. Заместо А может стоять например Label1.Caption
ega23 (2004-05-24 10:15:00) [6]FieldByName