Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Как Заморозитть DBGRID   Найти похожие ветки 

 
Леван   (2002-11-12 15:37) [0]

Привет мастерам!
Который раз сталкиваюсь с реприятной картиной:
При обработке некоторого собития ДБГРИД-а приходится просматривать вес набор данных, свяханного с ДБГРИД и в конце обЪязательно возвращаюсь на то же самую запись, откуда ушел.
Как временно "Заморозить" канву ДБГРИДА, чтоби он не отображал мои блужданияпо набору данных?
Спасибо
Леван


 
Andriano ©   (2002-11-12 15:46) [1]

У DataSet-а DisableControls, EnableControls


 
Леван   (2002-11-12 16:02) [2]

К сожалению Disablecontrols блокирует доступ к этому dataset-уб а мне нужно использовать dataset.next,dataset.prior и т.п.
должен существовать другой способ!!!!


 
3JIA9I CyKA ©   (2002-11-12 16:06) [3]

Ходи по другому DataSource


 
Andriano ©   (2002-11-12 16:10) [4]

Вот только сегодня написал:

SourceDataSet.DisableControls;
bm:=SourceDataSet.GetBookmark;
SourceDataSet.First;
for i:=1 to SourceDataSet.RecordCount do begin
//Некоторые действия
SourceDataSet.Next;
end;
SourceDataSet.GotoBookmark(bm);
SourceDataSet.FreeBookmark(bm);
SourceDataSet.EnableControls;


Ничего не блокирует, прекрасно работает.
Вот правда Master-Detail связи отключаются.
Прочти сегодняшнее сообщение "Глюк при DisableControls..." (MsGuns). Там по твоей теме.


 
3JIA9I CyKA ©   (2002-11-12 16:11) [5]

Хочешь dataset.next,dataset.prior - попробуй dataset.Recordset.Clone. Это для ADO.


 
KoluChi ©   (2002-11-12 16:16) [6]

Можно использовать dxDBGrid у него есть полезные методы:
BeginUpdate(), EndUpdate();


 
MsGuns ©   (2002-11-12 16:26) [7]

Можно поверху грида рисануть окошко с мордой, которая улыбается и музычку грануть, - и юзеру приятно, и грид не мельтешит (это для Master-Detail)


 
Леван   (2002-11-12 16:56) [8]

TO ANDRIANO!
Огромное спасибо! Прекрасно работает!
Просто у меня была ошибка: Disablecontrols была внутри цикла, а
Enablecontrols - после конца .......


 
MsGuns ©   (2002-11-12 16:59) [9]

А вообще-то есть очень простой способ 8))

DBGrid1.DataSource := nil;
bm := Table1.GetBookMark;
Table1.First;
While not Table1.Eof do
begin
...
Table1.Next;
end;
Table1.GoToBookMark(bm);
DBGrid1.DataSource := Table1;



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-93285
KOlios
2002-10-17 00:59
2002.11.28
есть вопрос - использую функцию linedda а в калбэчной левые коорд


3-92923
NiBL
2002-11-11 14:51
2002.11.28
FIBPlus


8-93153
VEG
2002-07-28 00:22
2002.11.28
BASS.DLL version 1.5a


1-93119
Tano
2002-11-16 12:26
2002.11.28
Физическое расположение STRING в памяти


14-93250
vidiv
2002-11-11 12:00
2002.11.28
Мессаг