Добавить свойство к TColumn в TDBGrid

Prot_XT
Дата: 29.05.2019 13:02:52
Я делаю свой DBGrid, наследую как бы в простом варианте от CustomDBGrid сначала нужны были только заголовки многоуровневые, потом дело дальше пошло...
В общем мне нужно бы добавить пару свойств к TColumn, как это сделать грамотно не трогая исходник, я не знаю. Я просто тупо взял VCL.DBGrids и переименовал юнит и классы в свои, затем добавил нужные свойства. Но от этих действий у меня пропал вызов редактора TColumns из контекстного меню на DBGrid, считывание полей датасета в настройках... нет выпадающего списка полей датасета и в редакторе TColumns исчезли кнопки добавить все поля из датасета, теперь приходится вручную прописывать. Это просто геморрой...
Вопрос, как правильно добавить свойство к TColumns? Как добавлять параметры к наследуемому CustomDBGrid мне понятно, а как обратиться к его TCollections не знаю. Или может исправить недостатки после правки файла, которые получились в результате моих действий. Но сам понимаю, что вроде это не правильно.
DimaBr
Дата: 29.05.2019 13:37:21
Ну так добавьте нужные редакторы
Prot_XT
Дата: 29.05.2019 13:56:31
DimaBr
Ну так добавьте нужные редакторы

Это понятно... но я не знаю, как можно вызвать редактор... и как добавить пункт меню. И почему свойтво Field перестало получать список полей датасета.
DimaBr
Дата: 29.05.2019 14:16:39
Prot_XT
Это понятно... но я не знаю, как можно вызвать редактор... и как добавить пункт меню. И почему свойтво Field перестало получать список полей датасета.

Изучайте редакторы компонентов и редакторы свойств. Это будет очень полезно.
Почему перестало получать ? потому что для него не зарегистрирован соответствующий редактор.
Всё что вы видите в Инспекторе - это редакторы свойств.
DimaBr
Дата: 29.05.2019 14:19:35
Удивительно, что вы 15 лет на форуме, а уровень знаний с 2004 года не изменился.
_Vasilisk_
Дата: 29.05.2019 14:47:38
Prot_XT
Вопрос, как правильно добавить свойство к TColumns?

TMyColumn = class(TColumn)
   ............
end;

TMyDBGrid = class(TCustomDBGrid)
protected
  function  CreateColumns: TDBGridColumns; override;
  ............
end;

function TMyDBGrid.CreateColumns: TDBGridColumns;
begin
  Result := TDBGridColumns.Create(Self, TMyColumn);
end;
Prot_XT
Дата: 29.05.2019 15:01:07
DimaBr
Удивительно, что вы 15 лет на форуме, а уровень знаний с 2004 года не изменился.

Потому что я не занимался этим профессионально, основная работа была в другом направлении... все было как-то наплывами. Я бы и сейчас может не занимался уже, но после аварии еле хожу, максимум по дому и чтобы совсем не засохнуть занялся новым проектом... ну как то так.
Prot_XT
Дата: 29.05.2019 15:07:34
Ладно... всем спасибо за помощь.