|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть ДВ типа ГРИД. Нужно скрыть столбцы в которых значение=NULL. Для каждого поля для св-ва Visible указываю выражение: Код: plaintext 1.
Как мне из такого: floorp1fl1fl2fl3fl4fl5fl6p2fl7fl8fl9fl10fl11fl122134nullnullnullnull278nullnullnullnull1112nullnullnullnull256nullnullnullnull получить такое: floorp1fl1fl2p2fl7fl821342781112256 Заранее спасипо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 10:25 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
lioner, добавить аналогичное выражение на width, по идее... т.к. поля то у Вас скрываются... вопрос еще в том, что делать, если в первой строке поле null а во второй значимое? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 10:48 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Если столбец=NULL, то он=NULL для всех строк ДВ. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:01 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
lioner , возможно это поможет: SlideLeft DataWindow object property ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:32 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
lioner, тогда тупо убивать width в 0 для null ну, или SlideLeft, как AIS подсказывает... хотя, вот Вам примерчик из практики: на всех 8 этажах 9-и этажного дома в правом крыле по 2 двухкомнатные квартиры, а на 9-м этахе - типа пентхаус - 4-х комнатная с двумя санузлами и свободной планировкой... вот Вам и ситуация, когда не всегда null в столбце во всех строках... ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:34 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Вот соурс ДВ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:40 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Ikar хотя, вот Вам примерчик из практики: на всех 8 этажах 9-и этажного дома в правом крыле по 2 двухкомнатные квартиры, а на 9-м этахе - типа пентхаус - 4-х комнатная с двумя санузлами и свободной планировкой... вот Вам и ситуация, когда не всегда null в столбце во всех строках... ;) Упрощаем практику: Если столбец=NULL, то он=NULL для всех строк ДВ. Тут хотя бы разобраться со скрытием нулл-столбцов :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:43 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
AIS lioner , возможно это поможет: SlideLeft DataWindow object property Подскажите как использовать это св-во в данном случае ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:47 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Теперь после установки выражений полей для Visible и Width (открыл ДВ в режиме Edit Source и добавил выражения для Visible и Width), св-во Width стало равно 9 и X стало равно 5 для каждого поля... :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 11:58 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
lionerAIS lioner , возможно это поможет: SlideLeft DataWindow object property Подскажите как использовать это св-во в данном случае ? Врядли можно сказать больше, чем написано в Help. Варианты: 1. для столбца в свойствах на вкладке Position установить "галочку" для свойства "SlideLeft". 2. для DW в событии "Conctructor": Код: plaintext 1. 2.
Проверьте ещё на всякий случай свойство "Format", может там что-то таки выдает при значении Null. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 12:45 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Ничего не помогает... Или столбцы остаются на месте или сдвигаются не как надо, накладываются друг на друга. Проблема не решена :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 13:49 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
lionerНичего не помогает... Или столбцы остаются на месте или сдвигаются не как надо, накладываются друг на друга. Проблема не решена :-( PB нормально не может обработать такое изменение свойств колонок в run-time (по крайней мере 11). Используйте что-то типа Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 14:07 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Локшин Марк PB нормально не может обработать такое изменение свойств колонок в run-time (по крайней мере 11). Используйте что-то типа Код: plaintext
Спасибо ! Это то, что нужно. Получилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 15:46 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Локшин МаркlionerНичего не помогает... Или столбцы остаются на месте или сдвигаются не как надо, накладываются друг на друга. Проблема не решена :-( PB нормально не может обработать такое изменение свойств колонок в run-time (по крайней мере 11). Используйте что-то типа Код: plaintext
Если уж использовать функцию, то это тоже сработает: Код: plaintext 1.
А не работает у lioner по какой-то иной причине. Ну, например, все-таки в столбце не все значения равны Null. Либо банально надо просто перегенерить DW, что зачастую в РВ помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2009, 15:54 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
AISНо помоему простое Width=0 с условием (как предлагает Ikar ), тоже работает. А не работает у lioner по какой-то иной причине. Ну, например, все-таки в столбце не все значения равны Null. Либо банально надо просто перегенерить DW, что зачастую в РВ помогает. Эксперименты с условием на width в виде if (CurrentRow()= 1,0,100) в Design-time показывают что когда текущая строка меняется, PB не может изменить размер колонки, а меняет только тогда, когда перестраивает все DataWindow. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 10:29 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Локшин МаркAISНо помоему простое Width=0 с условием (как предлагает Ikar ), тоже работает. А не работает у lioner по какой-то иной причине. Ну, например, все-таки в столбце не все значения равны Null. Либо банально надо просто перегенерить DW, что зачастую в РВ помогает. Эксперименты с условием на width в виде if (CurrentRow()= 1,0,100) в Design-time показывают что когда текущая строка меняется, PB не может изменить размер колонки, а меняет только тогда, когда перестраивает все DataWindow. Условие не должно быть привязано ко всем строкам, а в целом к столбцу из задачи lioner . Поэтому управление должно быть построено не таким образом, не внутренне, а внешне, например: Код: plaintext 1.
Я бы все-таки впихнул бы эту обработку в DW, чем конструировал скрипты в DW-control. Ведь это проще, чем играться с событиями DW и тестировать, где ещё что вылезет либо не сработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 12:20 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
AISУсловие не должно быть привязано ко всем строкам, а в целом к столбцу из задачи lioner . Поэтому управление должно быть построено не таким образом, не внутренне, а внешне, например: Код: plaintext 1.
Я бы все-таки впихнул бы эту обработку в DW, чем конструировал скрипты в DW-control. Ведь это проще, чем играться с событиями DW и тестировать, где ещё что вылезет либо не сработает. Ага, только на ширину столбца, как ни странно, влияет только размер колонки или copmuted field расположенного в detail части отчета. И что тут еще может вылезти, когда удалили столбец. А вот с expression на ширину как раз вылезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 13:38 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Локшин Марк ...Ага, только на ширину столбца, как ни странно, влияет только размер колонки или copmuted field расположенного в detail части отчета. И что тут еще может вылезти, когда удалили столбец. А вот с expression на ширину как раз вылезает. Хорошо. Скорректирую мысль: Код: plaintext
Код: plaintext
А вот "DESTROY" столбца, надо программировать "где, когда, при каких условиях и т.д. и т.п.". А следующая выборка (типа для другого дома)? Раскладка столбцов может быть уже другой. А восстановить столбцы, где они вылезут? Пересоздать DW, а если пользователь уже скорректировал ширину видимых столбцов для удобства? и т.д. и т.п. Помоему учесть всё и выносить это в скрипт - будет сложнее, и там где много "звеньев в цепочке" одно обязательно порвется, только неизвестно когда и при каком событии, либо изменения условий задания. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 14:07 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
Локшин Марк , Если и выносить в скрипт, то не Modify("DESTROY ...") , а Modify('column_name.visible=0') . Хлопот на много меньше, а эффект тот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 14:14 |
|
Как скрыть поля с NULL значением ?
|
|||
---|---|---|---|
#18+
AISИ что тут сложного, и что тут может вылезти, если оно сработает. А попробовать? AIS Локшин Марк , Если и выносить в скрипт, то не Modify("DESTROY ...") , а Modify('column_name.visible=0') . Хлопот на много меньше, а эффект тот же. visible = 0 имеет побочный эффект в виде грядушки от скрытых столбцов справа от таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2009, 18:44 |
|
|
start [/forum/topic.php?fid=15&msg=36353838&tid=1336080]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 362ms |
total: | 501ms |
0 / 0 |