|
|
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Подскажите, какая концепция в cxGid убирания нулевых значений? На их форуме рекомендуют в событии колонки onGetDisplayText менять 0 на пустую строку. Ну для простых колонок это работает, а если у меня колонки с форматированием или даже с денежной единицей? Менять '0.00р.' на пустую строку - не катит, так как формат могут изменить на 0.0 или 0,000 - не важно. Должна ж быть какая-то универсальная приблуда для этого? У меня например колонка со скидками имеет форма 0,00%, денежная - 0,00р., но у многих в винде денежная единица задается символом ₽. В фастрепорте есть специальная галка HideZeros, а тут что-то не найду. Кто виноват и что делать ? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 21:33 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
в запросе nullif() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 21:45 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
DimaBr, он null все равно как 0 будет интерпретировать со всеми вытекающими. Это надо именно в гриде делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 22:21 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
null в гиде это не НОЛЬ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 22:44 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
DimaBr, все равно - это костыль. ради того, что грид что-то НЕ показывал, надо дополнительно пилить запросы и вместо просто го select * from emplyes лепить монстра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 23:10 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Я бы сделал так. В обработчике OnDrawDataCell извлекал бы значение, а дальше его обрабатывал и рисовал бы ячейки сам. Что-то типа: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 23:29 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Virtual Student, рисовать ячейки самому - это не кроссплатформенно и не идеологически. в 21-м веке рисовать GDI - моветон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2020, 23:43 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin DimaBr, все равно - это костыль. ради того, что грид что-то НЕ показывал, надо дополнительно пилить запросы и вместо просто го select * from emplyes лепить монстра? В событиях грида сравнивать надо не текст, а значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 00:16 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Gluck99, ну меня joinами и вложенными запросами не испугать, просто зачем для того, чтобы клиент не показывал нулевые значения, надо напрягать сервер? ну не по-христиански это, неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 00:21 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Gluck99 В событиях грида сравнивать надо не текст, а значение. И как это сделать нативно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 00:24 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
В Гриде нет HideZeros, можете даже не искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 00:44 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
просто зачем для того, чтобы клиент не показывал нулевые значения, надо напрягать сервер Вы думаете, что сервер сильно напряжётся, прогнав конечный результат через nullif ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 00:48 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
DimaBr, я думаю, что не серверное это дело - на клиенте нули в пустоту превращать. сервера дело - вернуть результат, нулевый или нулевой и клиенту нужно это отобразить. а то потом будем форматировать дату на сервере по национальным настройкам клиента. вообщем, красивого решения в девках нет, как я понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 01:00 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Красивое решение, это показывать те значения, которые есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 01:09 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
вот вам ответ тех поддержки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 01:11 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
DimaBr Красивое решение, это показывать те значения, которые есть. Для тех кто путает юзверя, визуально приравнивая 0 к null - в аду отдельный котел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 01:38 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
DimaBr вот вам ответ тех поддержки спасибо, конечно, но об этом я в стартовом топике писал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 05:05 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin спасибо, конечно, но об этом я в стартовом топике писал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 13:13 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Привет. GrigoriyFomin Подскажите, какая концепция в cxGid убирания нулевых значений? Достаточно в запросе вернуть null. Только что проверил для TcxCalcEditProperties (формат - ',0.00 "кв.м."') Для null значений в ячейке пустая строка. P.S. Firebird + FibPlus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 13:26 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Gluck99 Где у вас задаётся формат поля? В свойствах колонки, которая CalcEdit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 13:34 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin, вы как игрок в "Поле Чудес", который угадал все буквы, но не смог назвать слово. У вас есть всё для решения задачи. Во-первых, NULL преобразуется в пустое поле при любом значении DisplayFormat в гриде (см. скриншот). Не знаю, какой у вас сервер, на MySQL именно так. Polesov подсказывает, что на Firebird то же самое. То есть никаких проблем написать пару лишних преобразований в запросе нет. Это намного удобнее, чем возиться на клиенте. Во-вторых, показывать пользователю пустое поле и в случае 0 (нуля), и NULL - дурной тон. Это плохо и с т.з. отладки. Потом будете гадать, почему периодически вываливаются кривые данные или ошибки преобразования типов. Хорошее решение - не скрывать нули, а делать их бледно-серым цветом, чтобы они только чуть-чуть подсвечивались. Так пользователь не будет цепляться за них глазами, но в случае необходимости проверки, всегда видно, какое значение на самом деле содержит поле. В-третьих, если вы всё-таки настаиваете на своём странном решении, то ответ я вам уже дал выше: "В событиях грида сравнивать надо не текст, а значение". Вот пример решения. Properties = CalcEdit (как у вас), DisplayFormat = '### ##0.000 mm'. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 14:40 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin, Gluck99 немного опередил. Но идея таже. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 14:49 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Gluck99 GrigoriyFomin, вы как игрок в "Поле Чудес", который угадал все буквы, но не смог назвать слово. У вас есть всё для решения задачи. Спасибо за развернутый ответ. Идея с отрисовкой серым - очень даже интересная, и за код спасибо, буду его использовать. А в оправдание показа пустоты вместо 0 - это например скидка на товар - ну напрягает зрение колонка из 0.00% - она не несет смысла. Внимание должно привлекать именно ненулевАя скидка. или цена за товар, который служебный и дается бесплатно - их немало - упаковки, стаканчики, мешалки и т.д. В моей задаче нул и 0 - это как раз тождественные понятия. кстати, функция Код: pascal 1. как раз верно (для моих задач) истолковывает null как 0, не вываливаясь в ошибку преобразования типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 14:52 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
Dmitri Krizhanovski GrigoriyFomin, Gluck99 немного опередил. Но идея таже. Тоже спасибо за решение. Идея задавать обработчик при создании формы - респект! Кстати, тут вот говорят про то, что некошерно 0 истолковывать визуально как пустоту, но однако в фастрепорте - это есть и никто анафеме авторов FR не предает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 14:57 |
|
||
|
DevExpress cxGrid - убрать нулевые значения
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin Код: pascal 1. как раз верно (для моих задач) истолковывает null как 0, не вываливаясь в ошибку преобразования типов. Код: pascal 1. и вот тут возможны нюансы с преобразованиями типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2020, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39984063&tid=2038120]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 422ms |

| 0 / 0 |
