#delphi #devexpress #vcl #delphi-10.2-tokyo #tcxgrid
#delphi #devexpress #vcl #delphi-10.2-Токио #tcxgrid
Вопрос:
Я создал компонент, расширив cxGrid и добавив некоторые необходимые свойства, я хочу сделать то же самое и добавить некоторые дополнительные функции в cxGridDBTableView, я попытался расширить cxGridDBTableView и добавил свойства, но я не могу получить доступ к этим свойствам, потому что, когда я удаляю свой TdxdmGrid, он использует cxGridDBTableView по умолчанию, но я хочу использовать TdxdmGridDbtableView,
Я пробовал, как показано ниже, но он показывает 2 разных компонента, а созданный мной вид не связан с сеткой.
Как этого можно достичь? Пожалуйста, помогите.
Спасибо.
Комментарии:
1. Обратитесь со своим вопросом в службу поддержки DevEx. Они очень полезны и подскажут вам, где вы ошиблись.
2. Пожалуйста , не публикуйте исходный код в виде скриншотов! Для этого есть функция «Вставить код».
Ответ №1:
- Вы должны зарегистрировать View с
cxGridRegisteredViews
помощью, а не сRegisterComponets()
- Если вы хотите использовать TDXPDMGridDBTableView в качестве представления по умолчанию, вы должны переопределить
TcxGrid.GetDefaultViewClass()
. DefaultView — это представление, которое создается, когда вы помещаете свою сетку в форму
TDXPDMGrid = class(TcxGrid)
...
protected
function GetDefaultViewClass: TcxCustomGridViewClass; override;
...
end;
...
function TDXPDMGrid.GetDefaultViewClass: TcxCustomGridViewClass;
begin
Result := TDXPDMGridDBTableView;
end;
...
initialization
cxGridRegisteredViews.Register(TDXPDMGridDBTableView, 'PDM Table');
...
finalization
cxGridRegisteredViews.Unregister(TDXPDMGridDBTableView);