Проблема с изменением ширины колонок в Cross-tab

отредактировано 14:26 Раздел: FastReport 4.0
Почему-то никак программно не меняется ширина колонок в Cross-Tab, а именно:
procedure Enum_DBCrossOnCalcWidth(ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended);
var m: integer;                                                                                                                         
begin
  for m := 0 to number - 1 do                                                       
    begin              
      if ColumnIndex = 2 * m then
       begin                 
         if quantity <= 4 then
           Width := 90                                                      
         else
           Width := 90 + (quantity - 4) * 20;                                                                                   
       end;
      if ColumnIndex = 2 * m + 1 then
        Width := 35;
    end;
  if number <> 1 then
    begin                    
      if ColumnIndex = 2 * number then
        Width := 35;                                                     
      if ColumnIndex = 2 * number + 1 then
        Width := 30;                                 
    end;                    
end;
Что делать, подскажите?

Комментарии

  • RhinoFCRhinoFC Новосибирск
    отредактировано 14:26
    Взял тупо твой код и подставил в мой кросс-таб. Всё работает. Однако есть следующие оговорки:
    1) Свойство AutoSize кросс-таба должно быть выставлено в True, иначе действительно не работает (хотя мне это кажется странным)
    2) Я не знаю чем у тебя являются переменные number и quantity и как они вычисляются. У себя для теста я их сделал просто константами. Устанавливал, естественно, в разные значения во время тестов.
    Ну и вот, как уже сказал, всё работает. Ширина ячеек меняется. FR v 4.3.
  • отредактировано 14:26
    Млииииин, а ведь действительно все работает, если включить AutoSize кросс-таба! А я-то голову ломал, да начал уже крошить батон на создателей FR4, что они не доработали кросс-табы. Спасибо!

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.