Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DbGrid [D5]


Catche ©   (2003-05-13 08:22:00) 

У меня есть dbGrid с численными данными, включено MultiSelected, как сделать подсчет суммы при выделении более одной строчки в таблице при момощи клавы, либо мышки, и результат кинуть в СтатусБар (По аналогии MS Excel)?


ЮЮ   (2003-05-13 09:15:00) [1]

>VAleksey © (13.05.03 09:10)
>В момент, когда тебе нужно посчитать сумму делаешь следующее:

А посколько этот момент не определён однозначно, то прицепить надо на onMouseXXX, onKeyXXX, т.е. при любом двищении по гриду бегать по DataSetу


VAleksey   (2003-05-13 09:10:00) [2]

В момент, когда тебе нужно посчитать сумму делаешь следующее:
1) Отключаешь визуальные контролы (DataSet.DisableControls)
2) Запоминаешь текущее местоположение (DataSet.GetBookmark)
3) Проходишь по выделенным записям грида считая сумму. (см. пример в хелпе. Св-во SelectedRows.)
4) Возвращаешся на закладку полученную в пункте 2 (DataSet.GotoBookmark(...))
5) Включаешь визуальные контролы.(DataSet.EnableControls)


ЮЮ   (2003-05-13 09:02:00) [3]

Если по аналогии с MS Excel, то надо использовать не DBGrid, а StringGrid или DrawGrid + обект в памяти, т.к. DBGrid имеет понятие лишь о видимой части датасета да и не информирует о выделении/снятии выделения. Тут нужен более крутой DBGrid, т.к. эту функциональность лучше заложить во-внутрь, а не пытаться отловить снаружи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо