Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > TDataSource из переменной


Автор: RinOSpro 9.8.2007, 13:21
Вопрос такой: 
Есть один DBGrid через него я отображаю разные таблицы: 
Код

var
DataSourceString : TDataSource;

(...)

begin
DataSourceString := DataModule2.DataSource1;
end;

(...)


 // на другой форме

begin
DBGrid1.DataSource := Form1.DataSourceString;
end;



Всё хорошо работало но понадобилось сделать сортировку:

DataModule2.AbonentTable.IndexFieldNames := 'Name'; Если обращаться напрямую всё работает так работает 

DataSourceString.DataSet.IndexFieldNames := 'Name'; а если через переменную то IndexFieldNames не видно и delphi не понимает что это такое IndexFieldNames;

Подскажите как исправить. Использую ADO;

Сортировать в ручную не желательно.

Автор: Anark1 9.8.2007, 14:29
Что значит : "если через переменную" ?

Автор: Bose 9.8.2007, 18:42
Цитата(RinOSpro @  9.8.2007,  13:21 Найти цитируемый пост)
DataModule2.AbonentTable.IndexFieldNames := 'Name'; Если обращаться напрямую всё работает так работает 
DataSourceString.DataSet.IndexFieldNames := 'Name'; а если через переменную то IndexFieldNames не видно и delphi не понимает что это такое IndexFieldNames;

потому что у Tdataset'а нет свойства IndexFieldNames.


устанавливай так:

Код

if DataSourceString.DataSet is TadoDataset then
  (DataSourceString.DataSet as TadoDataset).IndexFieldNames := 'Name'; 

вместо TadoDataset напиши нужный класс. (такой же как и у DataModule2.AbonentTable)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)