![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить данные из DataSet не меняя его активную запись.
Бездомный © (2011-12-05 12:35:00)Желательно с поиском по ключевому полю.
Пока сделал так, но, чувствую, можно сделать как-то быстрее, элегантнее, что ли:
IDField := List.DataController.KeyField;
IDValue := Node.KeyValue;
DL := TDataLink.Create;
try
DL.DataSource := List.DataController.DataSource;
DL.ReadOnly := True;
Row := DL.ActiveRecord;
try
for I := 0 to Pred(DL.RecordCount) do
begin
DL.ActiveRecord := I;
if DL.DataSet.FieldByName(IDField).Value = IDValue then
begin
Result := DL.DataSet.FieldByName(FieldName).Value;
Break;
end;
end;
finally
DL.ActiveRecord := Row;
end;
finally
DL.Free;
end;
Jeer (2011-12-05 12:57:00) [21]
> Ну а как это TDBGrid делает?
Он вообще ничего не делает, кроме отображения из датасета.
Медвежонок Пятачок (2011-12-05 12:56:00) [22]Ну а как это TDBGrid делает?
А он это делает?
Jeer (2011-12-05 12:56:00) [23]Ему открыть второй датасет религия не позволяет.
Димка На (2011-12-05 12:54:00) [24]
> Медвежонок Пятачок © (05.12.11 12:53) [1]
Ну а как это TDBGrid делает?
Медвежонок Пятачок (2011-12-05 12:53:00) [25]если б было можно получить данные не меняя активную строку, то, я думаю, возможно было бы получить данные вообще не открывая датасета.