|
|
|
DevExpress cxGrid 2 вида суммирования
|
|||
|---|---|---|---|
|
#18+
cxgrid только пробую, так что сильно не пинайте. Столкнулся с несколькими проблемами и не знаю как решить, может кто что подскажет: 1. Требуется реализовать суммирование в footer, как бы все просто, реализуется стандартными средствами (TcxCustomDataController.Summary) , но нужно что б суммирований было 2, одно общее, второе по выделеным строкам. Так вот столкнулся с тем, что стандартные средства позволяют организовать либо одно, либо второе. Как вариант скажем общее суммирование реализовать самостоятельно и вставить в поле, но может есть какой то алгоритм действий, что б использовать стандартный принцип. Если реализововать самостоятельно, то подскажите, как правильно пересчитать данные не обращаяся к датасету, т.е. внутри datacontoler-а, в моем понимании это впринципе аналог некого контенера для данных? 2. Есть ли возможность реализации в стандартном суммировании организация суммирования с условиями, например в одном столбце содержится информация о количестве с разными единицами измерения - кг, шт, и т.п., и требутся просуммировать например кг. Единицы измерения содержаться в другом столбце. За ответы за ранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2020, 11:38 |
|
||
|
DevExpress cxGrid 2 вида суммирования
|
|||
|---|---|---|---|
|
#18+
garik369, по второму вопросу: в датасете можно сделать вычисляемое поле (Field.FieldKind = fkCalculated) и в него писать в обработчике события датасета OnCalcFields 1) если хотим "кг" и тип значение "кг", то в поле копируем значение 2) иначе NULL (ну то есть вызов .Clear ) в гриде в качестве суммируемого поля выставить наше вычисляемое. Получается настраиваемая сумма, управляемая через обработчик OnCalcFields !!! только не забывайте при изменении настроек сделать датасету Dataset.DisableControls; Dataset.EnableControls; если не ошибаюсь, это заставит его начать пересчитывать вычисляемое поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2020, 12:05 |
|
||
|
DevExpress cxGrid 2 вида суммирования
|
|||
|---|---|---|---|
|
#18+
garik369 cxgrid только пробую, так что сильно не пинайте. Столкнулся с несколькими проблемами и не знаю как решить, может кто что подскажет: 1. Требуется реализовать суммирование в footer, как бы все просто, реализуется стандартными средствами (TcxCustomDataController.Summary) , но нужно что б суммирований было 2, одно общее, второе по выделеным строкам. Так вот столкнулся с тем, что стандартные средства позволяют организовать либо одно, либо второе. Как вариант скажем общее суммирование реализовать самостоятельно и вставить в поле, но может есть какой то алгоритм действий, что б использовать стандартный принцип. Если реализововать самостоятельно, то подскажите, как правильно пересчитать данные не обращаяся к датасету, т.е. внутри datacontoler-а, в моем понимании это впринципе аналог некого контенера для данных? 2. Есть ли возможность реализации в стандартном суммировании организация суммирования с условиями, например в одном столбце содержится информация о количестве с разными единицами измерения - кг, шт, и т.п., и требутся просуммировать например кг. Единицы измерения содержаться в другом столбце. За ответы за ранее спасибо! Ты хочешь получить итоги по данным. которые находятся в db - датасете, и в то же время хочешь не обращаться к нему? Можно, конечно, для вычисления значения в итогах отдельные запросы к серверу делать, но, имхо, сие геморно. Используй режим кастомного источника данных. Т.е., пиши наследника TcxCustomDataSet, и подключай к нему грид. И все проблемы сразу стану прозрачными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2020, 12:48 |
|
||
|
DevExpress cxGrid 2 вида суммирования
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2020, 13:12 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39967334&tid=2038238]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 402ms |

| 0 / 0 |
