TcxGridTableDataCellViewInfo;
var ADone: Boolean); получить название поля у обрабатываемой ячейки? Битый час пытаюсь найти, но в основном у всехв примерах обработки по тексту и не зависят от имени столбца.
Ты немного не с той стороны заходишь. Там правильно оперировать значениями Sender.DataController и AViewInfo.GridRecord - это вообще, для грида. AViewInfo.GridRecord.DisplayTexts AViewInfo.GridRecord.Values и т.д. А уже из AViewInfo можно получить Column и его DataBinding.FieldName sFieldName := AViewInfo.Item as TcxGridDBBandedColumn).DataBinding.FieldName;
Не хочет к такому типу преобразовывать. Компилируется, но при отрисовке Invalid class typecast
Ну так надо кастовать к твоему типу. Он тебе известен. OutputDebugString(PChar(AViewInfo.Item.ClassName)); if AViewInfo.Item is TcxGridDBBandedColumn then sFieldName := TcxGridDBBandedColumn(AViewInfo.Item).DataBinding.FieldName else Assert(False, 'Другой тип колонки: ' + AViewInfo.Item.ClassName); Я за тебя писать не буду. Ты спросила как. Вот так. Там есть дока и примеры.
Одно без второго не допустимо. Это грабли. или AS который сам за тебя делает проверки и генерит исключение. ИЛИ Прямое приведение типа с проверкой на IS. if AViewInfo.Item is TcxGridDBBandedColumn then sFieldName := TcxGridDBBandedColumn(AViewInfo.Item).DataBinding.FieldName else Assert(False, 'Другой тип колонки: ' + AViewInfo.Item.ClassName);
Если тебе нужно значение поля, то оно лежит в AViewInfo.Text
Да, со значением попроще. Спасибо)
Обсуждают сегодня