|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Доброго времени суток всем PB 6.5 Нужно реализовать вот что: DataWindow в котором будут рисоваться прямоугольники привязанные к своей строке, в одной строке могут быть несколько прямоугольников разного цвета но все они будут привязаны к строке и при прокрутки в DataWindow прямоугольники будут всегда находится в своей строке. Я так понимаю что это реализовывается через dw_1.Modify("Create RectAngle(.....)") но вот вопрос как отслеживать координаты положения строки в DataWindowControl. Возможно тут есть какой то способ это реализовать с минимум гемороя и максимум производительности, потому что таких квадратов будет много, очень много. И еще можно ли будет как то отслеживать клик по определенному квадрату. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2014, 13:18 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Kortic, Если меняется только цвет, то используйте выражение на цвет, и храните значение цвета для строк в отдельном поле. Тогда нужен всего один объект в разделе detail, и не нужно никаких координат отслеживать. Ловятся ли клики по прямоугольнику я не помню, но если нет, то можно вместо него использовать text или compute без текста с нужным цветом фона. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2014, 17:31 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, Все намного сложнее в каждой строчке разное количество квадратов и разного размера, вобще это как то возможно реализовать в DW? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2014, 17:35 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Kortic, Если кол-во разных квадратов фиксированное, то можно в каждой строке делать видимыми разные комбинации из заранее созданных квадратов. По-другому не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2014, 18:07 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Kortic , как то не совсем понятно задача озвучена. Эти "квадратики" пользователь реально должен рисовать, или DW просто реагирует на действия пользователя и подсвечивает что-то ввиде "квадратиков"? А какую цель этими "квадратиками" Вы пытаетесь добиться? Может достаточно у ячейки столбца менять параметр "бордюр" и его цвет? Тогда и клики можно отрабатывать и редактирование делать, и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2014, 10:36 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
допустим в строке максимум 100 квадратов делаете в DW 5*100 полей типа лонг - это координаты (x,y,w,h) + цвет рисуете 100 квадратов из текстами с бордером и для каждого устанавливаете использовать координаты из соответствующего поля скрытие задавать через ширину=0 далее только вопрос задания правильных данных в DW исходник DW можно сгенерить динамически ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2014, 15:19 |
|
Рисование в DataWindow
|
|||
---|---|---|---|
#18+
Спасибо за советы! пришел к выводу что создам большое количество колонок которые буду подсвечивать, самый функциональный вариант. Теперь такой вопрос, просто добавить колонку в экстернел DW можно? или нужно создавать DW сразу с определенным количеством колонок? Если создавать сразу, подскажите какой синтаксис для создания экстернел DW, опыта маловато в этом, создавал только на основе процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 18:21 |
|
|
start [/forum/topic.php?fid=15&msg=38792872&tid=1335300]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 259ms |
0 / 0 |