Поиск сообщества
Показаны результаты для тегов 'TGrid Delphi'.
Найдено: 1 результат
-
При переходе на Delphi 10.1 Berlin (FMX) с XE8 возникает много "интересных" нюансов с TGrid: 1. У меня все(!) внутренние ячейки выводятся с отступом в 3px (я перерисовываю их в событии OnDrawColumnCell) от всех сторон - при этом внутри уже по умолчанию используется отсечка по области рисования (т.е. если задать большую область для, к примеру, FillRect - всё равно будет заполняться только с отступом 3px) - мое решение - локально создать var L_Rects:TClipRects; и var L_Bounds:TRectF; ---------> L_Bounds:=Bounds; L_Bounds.Inflate(3,3); // ! - компенсировать отступ SetLength(L_Rects,1); L_Rects[0]:=L_Bounds; /// - далее with aGrid do try Canvas.BeginScene(@L_Rects); // !! ..... рисуем на Canvas finally Canvas.EndScene; SetLength(L_Rects,0); end; 2. Из Published исчезло событие OnApplyStyleLookup - приходится вызывать его где-то при показе таблицы вручную... 3. Также исчезли события OnMouseUp и OnMousDown - похоже на прокол разработчиков - они есть в Public - их нужно прицеплять в коде выставляя их на свои методы формы (параметры методов такие же как и в XE8). 4. LiveBinding у меня не работает для полей с Blob - картинками - при вызове OnDrawColumnCell - для такого вида привязки параметр const Value: TValue или пустой, или (в зависимости от стиля столбца) содержит строку "(Object)" - как показать в таблице blob-поле - картинку в XE10 с помощью Livebinding я так и не понял... 5. Непонятно зачем нужно событие OnDrawColumnBackground - по-моему, оно никогда не срабатывает - совместимость со старыми версиями? ____________ Напишите, если кто-нибудь сталкивался с этими моментами и нашел какой-то другой ответ - хотелось бы использовать LiveBinding как в XE8 и ранних версиях...