Поиск сообщества
Показаны результаты для тегов 'TColumn'.
Найдено: 1 результат
-
Всем доброго дня! Задавал этот вопрос на Stackowerflow, но ответа не получил даже с учетом выделенного bounty http://stackoverflow.com/q/32258525/5043424. Сущность вопроса в следующем. Создается колонка для FMX TGrid: type TDatecell = class(TCalendarEdit) end; TDateColumn = class(TColumn) private function CreateCellControl: TStyledControl; override; public constructor Create(AOwner: TComponent); override; end; ... constructor TDateColumn.Create(AOwner: TComponent); begin inherited; end; function TDateColumn.CreateCellControl: TStyledControl; begin Result := TDatecell.Create(Self); end; Все работает. Такую колонку можно добавить в TGrid. Не получается ее связать с полем FDQuery, получающим данные из поля MySQL типа date. Пробовал в runtime вызывать нечто такое: LinkGridToDataSourceBindSourceDB1.Columns.Add; LinkGridToDataSourceBindSourceDB1.Columns.Items [LinkGridToDataSourceBindSourceDB1.Columns.Count-1]. MemberName:='date_set_by_user'; но этот код удаляет все колонки (если они не были определены и определялись автоматически согласно списка полей) и добавляет вместо них колонку - экземпляр класса TColumn. Подскажите, как связать колонку своего типа с TDataSet или как указать свой тип колонки в LinkGridToDataSourceBindSourceDB1.Columns? Я представляю, как заполнить TGrid вручную, но, мне кажется, это замедлит код и вынудит писать обработчики изменения DataState и вручную прописывать все изменения во всех ячейках в DataSet, а также реакцию DS на изменение выделения строки в TGrid. OnGetValue не срабатывает, если есть LiveBindings Link... Подскажите, пожалуйста, как это сделать. Застрял...
- 4 ответа
-
- TGrid
- LiveBindings
-
(и ещё 2 )
C тегом: