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

Вниз

Как организовать автосумму в Table, типа Excel, но вертикально?   Найти похожие ветки 

 
Step[B.M.] ©   (2002-11-29 01:34) [0]

... может есть компонент какой?
Это нужно для суммирования в таблице, например пункт
1. =
1.1. +
1.2. +
... +
1.n.


 
KSergey ©   (2002-11-29 05:56) [1]

Не совсем понятно, ночему "но вертикально". Посмотрите EhLib - ихний грид этим славится (чем - догадывайтесь сами, равно как мы гадаем над вопросом)


 
Victor_Cr ©   (2002-11-29 08:51) [2]

Ну можно сделать так
select sum(Field1) field1,...,sum(FieldN) fieldN from table
union
select * from Table

или так

select * from Table
union
select sum(Field1) field1,...,sum(FieldN) fieldN from table

Зависит от того где должна быть сумма сверху или снизу.
Ну и ессесно заменить Табле на Квери


 
Step[B.M.] ©   (2002-11-29 09:20) [3]

EhLib обязательно посмотрю, а вот Квери не подходит, по причине постоянной перерисовки грида во время вычислений...


 
krotik ©   (2002-11-29 09:40) [4]

Есть всего два пути:
1. Использовать нестандартные компоненты, типа Eh, Rx и прочую лабудень. Меньше хлопот, зато нельзя будет перекомпилить проект там где не установлены эти библиотеки.

2. Использовать непривязанные к датасетам компоненты, типа StringGrid или ListView (со стилем Report). Недостатки - самому постоянно перерисовывать. Я, например, пишу один раз функцию для полной перерисовки и вызываю ее каждый раз при изменении в базе. Иногда, когда изменения касаются всего одного числа, а я все-равно перерисовываю всю таблицу - не очень красиво выглядит. Достоинства - можно делать дизайн полностью на свое усмотрение, любые промежуточные и полные итоги, древовидная вложенность и т.д. Очень наглядным получается представление информации для пользователя, ибо практика показывает, что для чайника недоступно понимание того, что две таблицы могут быть связаны и во втором гриде информация по тому объекту, на котором стоит указатель в первом гриде. Тупые юзеры этого понять не могут, им лучше в виде дерева с заголовками/подзагаловками оформлять.


 
makdi   (2002-11-29 14:44) [5]

А почему не сделать вычисляемое поле и там все складывать? Я так понял тебе нужно складывать значения полей?
Сделать типа:
Table1.FieldByName("sum").AsInteger:=Table1.FieldByName("1.1").Asinteger+...+Table1.FieldByName("1.n").AsInteger
или я ошибаюсь, тебе нужно не это?



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
1-61686
Che
2002-12-08 01:35
2002.12.19
Форматирование текста!!!


1-61599
VZ_Alexandr
2002-12-10 10:40
2002.12.19
Цвет фокуса в TreeView


3-61498
serg_r_a
2002-12-02 12:18
2002.12.19
Открытие БД без индекса


14-61833
TTCustomDelphiMaster
2002-11-30 13:15
2002.12.19
Расформировывается группа декодеров


1-61608
Armageddon
2002-12-09 22:49
2002.12.19
Задача