![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DbGrid [D6]
volodya_ © (2002-04-11 10:04:00)Мне нужно перебрать все записи из БД
Как сделать чтобы курсор не бежал от первой записи к последней в DbGrid?
Mustang (2002-04-24 13:57:00) [1]А я просто делаю DBGrid Hide, а затем Show.
Kuusiniemi (2002-04-11 14:44:00) [2]"Единственный недостаток - Grid в промежутке может "очиститься"".
Вот - вот. Вы кроме как в книжки, еще и в хелп поглядывайте иногда:
"While an application can set Enabled to False to blank out data-aware controls during processing of multiple records, a better choiceis to use the TDataSet EnableControls and DisableControls methods. Using these methods prevents the controls from blanking out during processing."
Услуги переводчиков, надеюсь, не требуются?
koks (2002-04-11 10:24:00) [3]Я делаю так:
DBGrid.DataSource.Enabled := false;
{перемещения курсора}
DBGrid.DataSource.Enabled := true;
<<< описано во всех учебниках >> - стовйство DataSource.Enabled ДЛЯ ЭТОГО И ПРЕДНАЗНАЧЕНО.
Единственный недостаток - Grid в промежутке может "очиститься", если перебор длинный и экран в это время перерисовывается.
Я еще вот как делал - изменяю записи используя TQuery.SQL (DML - предложения) - записи изменяются а курсор не двигается, соответственно и DBGrid стоит на месте.
Kuusiniemi (2002-04-11 10:13:00) [4]DBGrid.Datasource.Dataset.DisableControls;
...
DBGrid.Datasource.Dataset.EnableControls;
Ну или просто там
Table1.DisableControls;
...
Table1.EnableControls;
Mike S (2002-04-11 10:13:00) [5]TQuery.DisableControls;
TQuery.EnableControls;