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


Автор: obdolb 25.3.2011, 20:56
Имеется DBGridEh с несколькими колонками. Надо посчитать сумму значений выделенных ячеек. Эту сумма должна показываться или в каком нибудь Edit'е , или в Footer'е smile .   Проблема собственно состоит в том что те ячейки, значения которых уже просуммированны(например двойным щелчком мыши) должны быть както выделены, чтоб их нечайно не просуммировать дважды.
   
Раньше делал сумму так:
   
   
Код

procedure TForm1.DBGridEh1DBClick(Sender: TObject):
     begin
        summa:=summa+strtofloat(DBGridEh1.SelectedField.AsString);
        Edit1.text:=floattostr(summa);
        end;


НО! это работает только если свойство DBGridEh  dgRowSelect=false.   У меня же оно равно true и поэтому всегда суммируються значения первой колонки.
    
Кто знает, как еще  можно посчитать сумму?

Автор: obdolb 25.3.2011, 21:40
Или как выделять ячейки(или строки. не суть важно), значения которых просуммированы?
   
 Для выделения я использую вот такую штуку:
                  

Код

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
    if CheckBox2.Checked then
    dbgrideh1.Options := dbgrideh1.Options + [dgMultiselect]
 else
   dbgrideh1.Options := dbgrideh1.Options - [dgMultiselect];
end;



и для нее свойство DBGridEH'а  dgRowSelect должно быть true. ка это можно сделать иначе? 

Подскажите  кто знает! smile 

Автор: Akella 26.3.2011, 11:36
obdolb, неужели кнопку КОД не видишь?
http://forum.vingrad.ru/forum/topic-126445.html

Автор: obdolb 27.3.2011, 20:30
Akella  исправил.

 Неужели никто из гуру не может помочь ? 

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