powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
25 сообщений из 33, страница 1 из 2
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525677
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем хэлёу!

в HTML + табличные процессоры типа jQwidgets сделать кастомный грид из набора элементов вообще не проблема - по сути переопределяешь рисовалку ячейки и вперед.

В DevExpress в cxGrid это тоже есть, но блин это же умереть можно сколько кода нужно написать для этого

Дело в том, что нужно вывести список документов с разными атрибутами (оправлено, доставлено, заполнено) + кнопки (просмотр, редактировать, клонировать) и всё это обладает логикой

Понятное дело, что просто грид не подходит по виду. Было бы круто если была бы возможность накидать в отдельный юнит(фрейм) компонентов на формочку и тупо его выводить вместо ячейки. Но увы я не знаю возможно ли такое.

Даже если сделать 10 панелек, которые отображать в зависимости от кол. документов можно - но это как мы понимаем делают только студенты. Хочется правильного решения.

Прошу помощи знатоков
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525709
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таких ситуациях надо в таблицу выводить общие для показа поля, а где-нибудь справа сделать вертикальный список дополнительных аттрибутов, которые заполнять при выделении того или иного документа (можно использовать от обычного трилиста до вертикал крида).
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525732
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ответ не в тему
К заполнению документа вопрос вообще не относится. Надеюсь вы кликали ссылку и смотрели пример

интересует только кастомный вывод в ячейке грида
в ячейке будет отрисован заранее расставленный набор компонентов на отдельной форме(или панельке)

вопрос только в том, как этот набор всунуть в ячейку при вызове метода простым способом, не создавая каждый компонент динамически по отдельности через 200 строк исходника:

OnCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525734
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolio,

что мешает сделать невидимую панельку, положить туда что надо и в событии отрисовки ячейки рисовать ее на канвасе? Тем более грид это позволяет сделать (главное не забыть ADone в True в конце выставить).
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525754
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дело в том, что таких панелек может быть 1-100 шт в гриде
то есть мне по сути нужны её динамические "дети", а не её оригинал - в этом случае скорее всего пригодится реально отдельный класс в отдельном файле (наверное подойдет TCustomCellContent = class(TFrame))

ну и конечно же играет роль - клики по кнопочкам. То есть обработчик должен знать, что при клике на кнопочку нужно вызвать просмотр документа с ID = 100334

Ну допустим я динамически создал в OnCustomDrawCell фрейм, но как его заставить отрисоваться именно в канвасе ячейки - не знаю :( То есть канвас то доступен, но как именно туда всунуть эту панельку с кучей кнопок и текста - непонятно

а так же очень интересно, что делать когда компонент cxGrid узнает, что строк стало меньше - и он своё удалит, а как же динамически созданная панелька? её тоже непонятно кто будет free-кать. Ну допустим перед уменьшением строк в гриде я сделаю процедуру, которая будет чистить сама эти панельки из памяти. Например было 10 строк, а стало 8. То есть нужно грохнуть компонент с именем (например) CustomCellContent9, CustomCellContent10

Пока мысли только такие
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525786
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скриншот есть готового результата? А то вдруг окажется, что там банальные кнопочки разное количество надо -- а они через ButtonEdit делаются спокойно.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525798
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolioв HTML + табличные процессоры типа jQwidgets сделать кастомный грид из набора элементов вообще не проблема - по сути переопределяешь рисовалку ячейки и вперед.
В DevExpress в cxGrid это тоже есть, но блин это же умереть можно сколько кода нужно написать для этогоЕсли имеется в виду табличка Products по ссылке - то подобный вид в cxGrid можно сделать без написания кода вообще
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525800
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скрина нет. Я уже пробовал через ButtonEdit - не мой случай. То есть стандартными средствами не обойтись 100%
Нужно отобрази уж слишком вариативную панельку с логикой

увы пока, что не получается отрисовать фрейм на ячейке :(

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TForm1.FormCreate(Sender: TObject);
begin
  cust := TCustFrame.Create(self);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  cust.Free;
end;



ну и основное:
Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.cxGrid1DBTableView1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
  cust.PaintTo(ACanvas.Canvas, 0 ,0);
  adone := true;
end;



отображается белый квадрат и всё
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525805
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
white_niggerЕсли имеется в виду табличка Products по ссылке - то подобный вид в cxGrid можно сделать без написания кода вообще

да, я рисовал, но! там нет возможности расставить собственные компоненты. Только то, что предлагают они. Да - там можно скрыть кнопочку - это максимум, но это делается через одноооо место. А чтобы на её месте отобразить например другую - вообще смутно представляю себе. В общем не хочу писать много - этот вариант пробовал - не понравился по многим причинам. Тот их конструктор "ячейки" не годится.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525814
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolio,

Хотя бы в пейнте можно нарисовать то, что хочется видеть... А то до сих пор не понятно.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525830
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну так - бриблизительно накидал. Не факт, что будет в таком именно виде

в некоторых случаях текст внизу - не видно и вместо галочки, что-то другое
вверху номер документа + один из атрибутов, который не всегда есть
ну и кнопки с вариантами: (view + copy) или (edit)
ну и строка в средине тоже вариативная

всё это под конкретный тачскрин так, что уже буду на устройстве подбирать красоту расположения
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525831
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiХотя бы в пейнте можно нарисовать то, что хочется видеть... А то до сих пор не понятно.А судя по тому что ТС хочет отображать собственные компоненты - там грид вообще не причем :)
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525832
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolioну так - бриблизительно накидал.LayoutView - тебе в руки
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525849
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужен грид в 1 колонку вот таких панелек

а LayoutView пока не пробовал на вкус. Сейчас по-изучаю. Спасибо за подсказку
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525853
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kolio,

пху, та пробовал я этот LayoutView - то о чём предлагали выше и о чём я писал тоже выше. Не подойдет это. Там набор только определенных вариантов типов компонентов + разметка меня не устраивает

Всё же хотелось бы 100% кастомную панель(в моём случае это TFrame) в ячейку
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525856
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Зачем вам вообще грид нужен?
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525861
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы он заботился об всей каше связанной с отрисовкой списка
мне в принципе всё равно какой из DevExpress компонентов умеет такое :) просто я все демки пересмотрел - подобного по функционалу не нашел

Если сравнить это с Андроидом - там тоже есть адаптеры кастомных списков. Там тупо указал XML файл - который содержит разметку ячейки и натравил вьюху списка на этот адаптер - и всё. Можно рендерить хоть каждую ячейку с индивидуальным дизайном и логикой. Хоть целый зоопарк внутри каждой ячейки. Но увы в делфяке я такого не видел ни разу.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525864
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так написано же на скрине ListView sample! Причём тут грид?
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525868
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Грид это тоже список только с одной колонкой. У вас есть дельные советы?
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525869
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Если у вас Tframe, то возьмите панельку, создавайте столько фреймов, сколько вам нужно и складывайте на панельку.
Ну или еще можно посмотреть CardView, но там как и везде - определенный набор компонентов.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525873
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариант со 100 панельками я уже думал. Но ведь все присутствующие понимают, что так уже стыдно делать. Это я мог лет 8 назад сделать, лишь бы сделать. А что делать если будет 200 строк? в 200 панелек рендерить фреймы? Ну фигня, согласитесь. Мне бы отрендерить уже по сути готовый компонент в ячейку, а дальше я сам.
Просто я не знаю как именно отрисовать конкретный объект на конкретном canvas. Увы кроме белого квадрата ничего нет
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525883
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Почитайте тогда вот https://www.devexpress.com/Support/Center/Question/Details/DQ4230/problems-with-creating-my-own-custom-editor . Может быть поможет.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525888
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Там описывается как сделать кастомный редактор
но как мы знаем активным редактором может быть только 1
то есть как только мы отредактировали - ячейка перейдет в режим "просто отобрази значение" и кастомный "редактор" исчезнет - тоже увы не очень

Казалось бы - ну ведь куча примеров когда нужен список, но не обычный, а вот как я нарисовал. Странно, что еще производители компонентов до такого не дошли. Вернее devExpress уже имеет, но очень заточен под видение из разрабов

Увы вопрос задать не получится на devExpress форуме - у них 1 ответ "введите номер лицензии у себя в профиле, а потом ответим"
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525891
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolio,

Подобный список можно и на простом трилисте сделать (две колонки с текстом в стеке друг на другом плюс одна растянутая колонка в две строчки с кнопками). Да, будет не слишком красиво, но чем-то похожим.
...
Рейтинг: 0 / 0
Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
    #39525901
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
та я понимаю, спасибо конечно за совет, но тут ситуация такова, что будут показывать программу людям, которые не скушают такое. Щас наверное буду колупаться всё же как отрисовать что либо на канвасе (слава богу хватает у них демок), а потом как отрисовать весь фрейм на чужом канвасе. Надеюсь поборю и пришлю результат
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Devexpress - панель с компонентами вместо ячейки (список в виде повторяющихся наборов)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]