Добрый день.
Имеем cxGrid oт DevExpress
Простейший код
procedure TframeStoreQuery.grdStoreColumn1GetDisplayText(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AText: String);
begin
inherited;
aText := ARecord.Values[grdStoreWareName.Index] + ' - ' + ARecord.Values[grdStoreWareCode.Index]
end;
Возвращает Имя_товара - Имя_товара, хотя должен возвращать Имя_товара - Код Товара.
Полез в исходники, дорыл до
function TcxCustomDataController.GetRowValue(const ARowInfo: TcxRowInfo; AItemIndex: Integer): Variant;
begin
if (ARowInfo.RecordIndex <> NewItemRecordIndex) and (ARowInfo.Level < Groups.GetGroupingItemCount) then
begin
AItemIndex := Groups.GetGroupingItemIndex(ARowInfo.Level); // При наличии группировки попадаем сюда!
Result := GetGroupRowValue(ARowInfo, AItemIndex);
end
else
Result := GetValue(ARowInfo.RecordIndex, AItemIndex); // Без группировок попадаем сюда и все хорошо
end;
И вот дальше ступор, как группировка влияет на индекс столбца? Не врубился я в логику разработчиков
Картинки настройки грида по ссылкам
https://yadi.sk/i/9DFbO9TJkUO1eQ https://yadi.sk/i/9DFbO9TJkUO1eQ