Как отобразить номер строки в TStringGrid?

Как создать столбец в TStringGrid в FireMonkey, который отображает номер строки?

Если это с помощью LiveBinding, я не могу понять, как это сделать.


person Marcus Adams    schedule 04.03.2013    source источник


Ответы (1)


Обработчику событий OnGetValue ваших форм/сеток передается строка в качестве одного из ее параметров. Просто убедитесь, что это тот столбец, который вам нужен, и верните номер строки.

function Form1.Grid1GetValue(const Row, Col: Integer): TValue;
begin
  if Col = 0 then
    Result := TValue.From<Integer>(Row);
end;
person Mike Sutton    schedule 04.03.2013
comment
Спасибо, что указали мне правильное направление. У меня Delphi XE2, поэтому это событие не реализовано. Я изменил TStringGrid.GetValue FMX.Grid для вызова FOnGetValue и назначил обработчик событий в коде, и он работает. - person Marcus Adams; 05.03.2013
comment
У вас все еще есть событие в XE2, но оно возвращает Variant вместо TValue. - person Mike Sutton; 05.03.2013
comment
Он есть, но не реализован. Это никогда не называлось и не разоблачалось. Я реализовал это. Спасибо. - person Marcus Adams; 05.03.2013
comment
Извините моя ошибка. Я не понял, что вы говорите о TStringGrid. - person Mike Sutton; 06.03.2013