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

Вниз

Временное отключение DBGrid от DataSet   Найти похожие ветки 

 
D@Nger ©   (2006-06-30 13:22) [0]

Всем здрасте! У меня есть таблица (TTable). Строки высчитываются на основе предыдущих строк и в конце выводится сумма. Для этого нужно пробежаться с 1-ой строки до последней при каждом изменении данных, чтобы сумма всегда была верной. Все это, конечно, отображает DBGrid. Как сделать, чтобы пользователь не замечал что идет перебор строк и чтобы после перебора курсор вставал на редактируемую строку. Я предположил, что может быть на время перебора отключать DBGrid от DataSet. Но как это сделать?


 
Delphi basic ©   (2006-06-30 13:27) [1]

MyTable.DisableControls


 
Delphi basic ©   (2006-06-30 13:27) [2]

MyTable.DisableControls


 
Desdechado ©   (2006-06-30 13:30) [3]

x := Dataset.GetBookmark;
Dataset.DisableControls;
перебор
if( Dataset.BookmarkValid( x ) then
 Dataset.GotoBookmark( x );
Dataset.EnableControls;


 
D@Nger ©   (2006-06-30 13:32) [4]

Спасибо большое!!!!


 
Sergey13 ©   (2006-06-30 13:34) [5]

> [0] D@Nger ©   (30.06.06 13:22)

Сам подход, когда "Строки высчитываются на основе предыдущих строк и в конце выводится сумма" как-то внушает сомнения в правильности проектирования БД.


 
Ega23 ©   (2006-06-30 13:35) [6]

Desdechado ©   (30.06.06 13:30) [3]

Я бы try-finally добавил, чтобы навсегда не отвязаться:


x := Dataset.GetBookmark;
Dataset.DisableControls;
try
перебор
if( Dataset.BookmarkValid( x ) then
Dataset.GotoBookmark( x );
finally
Dataset.EnableControls;
end;


 
D@Nger ©   (2006-06-30 14:26) [7]


> Сам подход, когда "Строки высчитываются на основе предыдущих
> строк и в конце выводится сумма" как-то внушает сомнения
> в правильности проектирования БД.


Я делаю проверку на корректность введенных данных, так что ошибок быть не должно. А как бы вы эту задачу решили?


 
Ega23 ©   (2006-06-30 14:39) [8]


> Я делаю проверку на корректность введенных данных, так что
> ошибок быть не должно. А как бы вы эту задачу решили?


В случае TTable - это у нас Sergey13 специалист, мы постоянно с ним лаемся по этому поводу...  :о)

Я бы вместо TTable использовал TQuery и при добавлении/изменении данных вызывал модальную форму со всеми свойствами данной записи.


 
Vlad ©   (2006-06-30 14:52) [9]


> D@Nger ©   (30.06.06 14:26) [7]


> А как бы вы эту задачу решили?

если работаешь с TTable, то фактически только так.
Можно вместо стандартного DBGrid использовать Quantum Grid, там есть возможости подсуммировок, группировок и.т.д,  но он платный.
А вобще все-таки с помощью SQL при возможности.


 
Sergey13 ©   (2006-06-30 14:55) [10]

> [7] D@Nger ©   (30.06.06 14:26)
>А как бы вы эту задачу решили?

А что за задача то?


 
D@Nger ©   (2006-06-30 14:59) [11]

Для вас МАЭСТРО это конечно не задача :-)


 
Sergey13 ©   (2006-06-30 15:04) [12]

> [11] D@Nger ©   (30.06.06 14:59)

Я не МАЭСТРО, но и задачи не знаю. Я лишь выразил сомнения в правильности, а не утверждал этого. Если каждая запись зависит от предыдущей - для меня это подозрительно.
ЗЫ: И вообще - пятница перед отпуском. Осталось полчаса.



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
2-1151630252
NigthSkif
2006-06-30 05:17
2006.07.16
Tedit


15-1150219382
dimodim-Furyz
2006-06-13 21:23
2006.07.16
Web-radio


15-1150206347
palva
2006-06-13 17:45
2006.07.16
Как поставить плагин к DJVU


2-1151389275
Kain-Lord
2006-06-27 10:21
2006.07.16
Помогите с мерцанием!


15-1150688558
Kerk
2006-06-19 07:42
2006.07.16
Что такое FireBird