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


Автор: Grig 6.6.2005, 06:46
День добрый!!
Вот тут у меня такое происшествие:
Код

 adotable1.BlockReadSize:=1;
adotable1.First;
while not adotable1.Eof do
 begin
  adotable1.Next;
  end;
 adotable1.BlockReadSize:=0;
end;


Свойство BlockReadSize создано для того, чтобы вся навигация по adotable1 не отображалась на гриде.
На DBGrid это работает, на DBGridEh - ни в какую
smile
Может возможно как-нибудь это обойти?

Автор: offline 6.6.2005, 10:16
А ты попробуй


Код

ADOTable1.DisableControls;
ADOTable1.First;
While not ADOTable1.Eof do begin
 ...
 ADOTable1.Next;
 end;
ADOTable1.EnableControls;


Автор: Grig 6.6.2005, 10:29
Работает!!
А вот как допустим, если я нахожусь на 20-й записи, после всех этих движух вернутся на нее же?
Какое-нибудь подобие номера строки есть в Дельфи?
Чтобы пользователь вообще ничего не заметил.

Автор: offline 6.6.2005, 11:22
Конечно, есть закладка для этого случая

Код

var
 Zakladka : TBookMark; //переменная закладки
begin
 ADOTable1.DisableControls;

 Zakladka := ADOTable1.GetBookmark; //установить закладку


 ADOTable1.First;
 While not ADOTable1.Eof do begin
  ...
  ADOTable1.Next;
  end;


 if ADOTable1.BookmarkValid(Zakladka) //если закладка существует
  then ADOTable1.GotoBookmark(Zakladka); //перейти на закладку
 ADOTable1.FreeBookmark(Zakladka); //удалить закладку

 ADOTable1.EnableControls;
end;


Автор: Grig 6.6.2005, 11:27
kirilllius, спасибо!!!
Не понимаю, чтоб я без Вас делал...

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