Delphi Firemonkey TGrid как обновить
У меня есть TGrid со смесью столбцов (ImageColumn и StringColumn). Я могу заполнить его, используя событие onGetValue, которое работает нормально. Мои вопросы:
Как заставить всю сетку перестроиться и вызвать событие onGetValue? Я использую UpdateStyle на сайте.
Как я могу обновить одну ячейку в сетке?
2 ответа
Другой вариант - позвонить Grid1.beginUpdate;
внесите свои изменения и затем позвоните Grid1.endupdate;
что заставит видимую сетку пересчитать и перерисовать.
Сетка обновляет только видимые ячейки! Grid1.UpdateStyle
заставить сетку перестраивать и вызывает onGetValue
события, но это медленно. Grid1.ReAlign
намного быстрее
Как только ячейки станут видимыми, они будут обновлены.
Обновление 1 ячейки:
procedure TForm1.UpdateCell(col, row: integer);
var
cell: TStyledControl;
begin
cell := Grid1.Columns[col].CellControlByRow(row);
if Assigned(cell) then
cell.Data := 'Note: use the same datasource as OnGetValue';
end;
ячейка не назначается, когда строка никогда не становится видимой.