|
|
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
всем хэлёу! в HTML + табличные процессоры типа jQwidgets сделать кастомный грид из набора элементов вообще не проблема - по сути переопределяешь рисовалку ячейки и вперед. В DevExpress в cxGrid это тоже есть, но блин это же умереть можно сколько кода нужно написать для этого Дело в том, что нужно вывести список документов с разными атрибутами (оправлено, доставлено, заполнено) + кнопки (просмотр, редактировать, клонировать) и всё это обладает логикой Понятное дело, что просто грид не подходит по виду. Было бы круто если была бы возможность накидать в отдельный юнит(фрейм) компонентов на формочку и тупо его выводить вместо ячейки. Но увы я не знаю возможно ли такое. Даже если сделать 10 панелек, которые отображать в зависимости от кол. документов можно - но это как мы понимаем делают только студенты. Хочется правильного решения. Прошу помощи знатоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 11:37:24 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
В таких ситуациях надо в таблицу выводить общие для показа поля, а где-нибудь справа сделать вертикальный список дополнительных аттрибутов, которые заполнять при выделении того или иного документа (можно использовать от обычного трилиста до вертикал крида). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 12:19:13 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Ответ не в тему К заполнению документа вопрос вообще не относится. Надеюсь вы кликали ссылку и смотрели пример интересует только кастомный вывод в ячейке грида в ячейке будет отрисован заранее расставленный набор компонентов на отдельной форме(или панельке) вопрос только в том, как этот набор всунуть в ячейку при вызове метода простым способом, не создавая каждый компонент динамически по отдельности через 200 строк исходника: OnCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 12:50:24 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolio, что мешает сделать невидимую панельку, положить туда что надо и в событии отрисовки ячейки рисовать ее на канвасе? Тем более грид это позволяет сделать (главное не забыть ADone в True в конце выставить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 12:54:01 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
дело в том, что таких панелек может быть 1-100 шт в гриде то есть мне по сути нужны её динамические "дети", а не её оригинал - в этом случае скорее всего пригодится реально отдельный класс в отдельном файле (наверное подойдет TCustomCellContent = class(TFrame)) ну и конечно же играет роль - клики по кнопочкам. То есть обработчик должен знать, что при клике на кнопочку нужно вызвать просмотр документа с ID = 100334 Ну допустим я динамически создал в OnCustomDrawCell фрейм, но как его заставить отрисоваться именно в канвасе ячейки - не знаю :( То есть канвас то доступен, но как именно туда всунуть эту панельку с кучей кнопок и текста - непонятно а так же очень интересно, что делать когда компонент cxGrid узнает, что строк стало меньше - и он своё удалит, а как же динамически созданная панелька? её тоже непонятно кто будет free-кать. Ну допустим перед уменьшением строк в гриде я сделаю процедуру, которая будет чистить сама эти панельки из памяти. Например было 10 строк, а стало 8. То есть нужно грохнуть компонент с именем (например) CustomCellContent9, CustomCellContent10 Пока мысли только такие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 13:08:01 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Скриншот есть готового результата? А то вдруг окажется, что там банальные кнопочки разное количество надо -- а они через ButtonEdit делаются спокойно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 13:48:08 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolioв HTML + табличные процессоры типа jQwidgets сделать кастомный грид из набора элементов вообще не проблема - по сути переопределяешь рисовалку ячейки и вперед. В DevExpress в cxGrid это тоже есть, но блин это же умереть можно сколько кода нужно написать для этогоЕсли имеется в виду табличка Products по ссылке - то подобный вид в cxGrid можно сделать без написания кода вообще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 13:57:50 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Скрина нет. Я уже пробовал через ButtonEdit - не мой случай. То есть стандартными средствами не обойтись 100% Нужно отобрази уж слишком вариативную панельку с логикой увы пока, что не получается отрисовать фрейм на ячейке :( Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ну и основное: Код: pascal 1. 2. 3. 4. 5. отображается белый квадрат и всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:01:35 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
white_niggerЕсли имеется в виду табличка Products по ссылке - то подобный вид в cxGrid можно сделать без написания кода вообще да, я рисовал, но! там нет возможности расставить собственные компоненты. Только то, что предлагают они. Да - там можно скрыть кнопочку - это максимум, но это делается через одноооо место. А чтобы на её месте отобразить например другую - вообще смутно представляю себе. В общем не хочу писать много - этот вариант пробовал - не понравился по многим причинам. Тот их конструктор "ячейки" не годится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:05:22 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolio, Хотя бы в пейнте можно нарисовать то, что хочется видеть... А то до сих пор не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:10:13 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
ну так - бриблизительно накидал. Не факт, что будет в таком именно виде в некоторых случаях текст внизу - не видно и вместо галочки, что-то другое вверху номер документа + один из атрибутов, который не всегда есть ну и кнопки с вариантами: (view + copy) или (edit) ну и строка в средине тоже вариативная всё это под конкретный тачскрин так, что уже буду на устройстве подбирать красоту расположения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:32:16 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
JaDiХотя бы в пейнте можно нарисовать то, что хочется видеть... А то до сих пор не понятно.А судя по тому что ТС хочет отображать собственные компоненты - там грид вообще не причем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:32:21 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolioну так - бриблизительно накидал.LayoutView - тебе в руки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 14:33:12 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
мне нужен грид в 1 колонку вот таких панелек а LayoutView пока не пробовал на вкус. Сейчас по-изучаю. Спасибо за подсказку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:19:18 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolio, пху, та пробовал я этот LayoutView - то о чём предлагали выше и о чём я писал тоже выше. Не подойдет это. Там набор только определенных вариантов типов компонентов + разметка меня не устраивает Всё же хотелось бы 100% кастомную панель(в моём случае это TFrame) в ячейку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:27:25 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Зачем вам вообще грид нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:34:18 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
чтобы он заботился об всей каше связанной с отрисовкой списка мне в принципе всё равно какой из DevExpress компонентов умеет такое :) просто я все демки пересмотрел - подобного по функционалу не нашел Если сравнить это с Андроидом - там тоже есть адаптеры кастомных списков. Там тупо указал XML файл - который содержит разметку ячейки и натравил вьюху списка на этот адаптер - и всё. Можно рендерить хоть каждую ячейку с индивидуальным дизайном и логикой. Хоть целый зоопарк внутри каждой ячейки. Но увы в делфяке я такого не видел ни разу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:42:16 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Так написано же на скрине ListView sample! Причём тут грид? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:44:21 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Грид это тоже список только с одной колонкой. У вас есть дельные советы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:48:21 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Если у вас Tframe, то возьмите панельку, создавайте столько фреймов, сколько вам нужно и складывайте на панельку. Ну или еще можно посмотреть CardView, но там как и везде - определенный набор компонентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:49:01 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
вариант со 100 панельками я уже думал. Но ведь все присутствующие понимают, что так уже стыдно делать. Это я мог лет 8 назад сделать, лишь бы сделать. А что делать если будет 200 строк? в 200 панелек рендерить фреймы? Ну фигня, согласитесь. Мне бы отрендерить уже по сути готовый компонент в ячейку, а дальше я сам. Просто я не знаю как именно отрисовать конкретный объект на конкретном canvas. Увы кроме белого квадрата ничего нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 15:54:57 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Почитайте тогда вот https://www.devexpress.com/Support/Center/Question/Details/DQ4230/problems-with-creating-my-own-custom-editor . Может быть поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 16:05:05 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
Там описывается как сделать кастомный редактор но как мы знаем активным редактором может быть только 1 то есть как только мы отредактировали - ячейка перейдет в режим "просто отобрази значение" и кастомный "редактор" исчезнет - тоже увы не очень Казалось бы - ну ведь куча примеров когда нужен список, но не обычный, а вот как я нарисовал. Странно, что еще производители компонентов до такого не дошли. Вернее devExpress уже имеет, но очень заточен под видение из разрабов Увы вопрос задать не получится на devExpress форуме - у них 1 ответ "введите номер лицензии у себя в профиле, а потом ответим" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 16:17:18 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
kolio, Подобный список можно и на простом трилисте сделать (две колонки с текстом в стеке друг на другом плюс одна растянутая колонка в две строчки с кнопками). Да, будет не слишком красиво, но чем-то похожим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 16:21:36 |
|
||
|
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
|
|||
|---|---|---|---|
|
#18+
та я понимаю, спасибо конечно за совет, но тут ситуация такова, что будут показывать программу людям, которые не скушают такое. Щас наверное буду колупаться всё же как отрисовать что либо на канвасе (слава богу хватает у них демок), а потом как отрисовать весь фрейм на чужом канвасе. Надеюсь поборю и пришлю результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2017, 16:37:58 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39525830&tid=2041797]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
436ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 739ms |

| 0 / 0 |
