Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
В cxVerticalGrid есть строка с ExtLookupComboBox.
Или на форме есть TcxExtLookupComboBox.
В ExtLookupComboBox выпадает сетка из TcxCustomGridView из этого репозитария.
Сетка (TcxCustomGridView) передаётся в качестве параметра процедуры где-то там в другой модуль.
Как узнать к чему привязана сетка (TcxCustomGridView)? В конечном итоге нужно выловить TcxEditorRow.Properties.Caption.
Посмотрел TcxCustomGridView.Parent = TList.

В самой процедуре проверяю:
if Grid.Parent is TcxExtLookupComboBox

возвращает False.


Ок, делаю (привожу тип) грубо без проверки:
OutputDebugString(PWideChar(TcxExtLookupComboBox(Grid.Parent).Hint));

Пустая строка, хотя Hint заполнен.
12 сен 18, 15:47    [21672358]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
Если так:
OutputDebugString(PWideChar(TcxExtLookupComboBox(Grid.Parent).name));

то вываливается исключение
12 сен 18, 15:51    [21672361]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29231

ты проверь, что парент не нил

Posted via ActualForum NNTP Server 1.5

12 сен 18, 15:53    [21672364]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
Да, само собой это проверяю.

ведь строка
OutputDebugString(PWideChar(TcxExtLookupComboBox(Grid.Parent).Hint));

исключений не выдает
12 сен 18, 16:09    [21672411]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
DimaBr
Member

Откуда:
Сообщений: 10744
X11
В самой процедуре проверяю:
if Grid.Parent is TcxExtLookupComboBox

возвращает False.


Ок, делаю (привожу тип) грубо без проверки:
OutputDebugString(PWideChar(TcxExtLookupComboBox(Grid.Parent).Hint));

Пустая строка, хотя Hint заполнен.

То есть машина тебе говорить что это не тип TcxExtLookupComboBox (возвращает False), а ты его всё равно в наглую приводишь к этому типу ?
12 сен 18, 22:56    [21672866]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1161
X11
Да, само собой это проверяю.

ведь строка
OutputDebugString(PWideChar(TcxExtLookupComboBox(Grid.Parent).Hint));

исключений не выдает

Просто попало на область памяти, в которой удачно расположился мусор, который не вызвал AV
13 сен 18, 00:02    [21672928]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
DimaBr
а ты его всё равно в наглую приводишь к этому типу ?


да, просто я уже не знаю, что делать, как выцепить нужное свойство
13 сен 18, 09:22    [21673093]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
DimaBr
Member

Откуда:
Сообщений: 10744
Если честно, то не понятно что такое Grid.Parent если речь идёт о TcxCustomGridView
13 сен 18, 11:15    [21673242]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
DimaBr
если речь идёт о TcxCustomGridView


я так понимаю, что Parent - это будет контейнер
13 сен 18, 11:24    [21673254]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
Devillio
Member

Откуда: Волгоград
Сообщений: 271
X11,
а не подойдет просто узнать cxVerticalGrid.FocusedRow?
И там уже получить TcxEditorRow.Properties.Caption?
13 сен 18, 11:26    [21673256]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
DimaBr
Member

Откуда:
Сообщений: 10744
Картинка с другого сайта.
13 сен 18, 11:40    [21673281]     Ответить | Цитировать Сообщить модератору
 Re: К чему привязана сетка из cxGridViewRepository  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12480
X11
Сетка (TcxCustomGridView) передаётся в качестве параметра процедуры где-то там в другой модуль.

Нет, в данном случае это класс для сохранения и восстановления настроек (параметров).
Т.е. нужно не только сохранить в базу настройки в blob поле, но и сохранить человекопонятные названия, что именно сохранено: какая сетка, в каком окне.
А сетка может лежать в разных контейнерах: Popup, ExtLookupComboBox, PageControl, dxLayout. А Popup, ExtLookupComboBox могут быть в свою очередь внутри сетки (обычной или вертикальной).

Можно, конечно, вторым параметром передавать и название, но можно же его и выцепить благодаря ООП :)
13 сен 18, 11:43    [21673288]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить