Переменная ширина колонок в отчёте в ширину
Подскажите, плз, как я могу создать отчёт с переменной шириной колонок.
В отчёте есть два дата-бэнда: нормальный(горизонтальный) и вертикальный.
На пересечении бэндов мэмо-поле с внешней переменной (используется обработсик "OnGetValue").
Первое, что пришло на ум, зделать отчёт двухпроходным, а для мэмо-поля поставить признак "Автоширина" и поставить ему обработчик "MemoX.OnAfterPrint", который запоминает в массиве ширину этого мэмо (елси оно больше того, которое там уже записано). Таким образом, за первый проход я подсчитываю максимальную ширину ячеек для каждой колонки (именно эти значения и сохраняются в массиве).
В обработчике "MemoX.OnBeforePrint" во время второго прохода - выставляю свойство "MemoX.Width := ColumnsMax[ColumnNo];" , т.е. делаю ширину, равную максимальной для данной колонки.
Однако этот метод НЕ РАБОТАЕТ!!! - Поле "MemoX.With" - не изменяется, даже если установлено свойство "Автоширина" - т.е. на экране действительно ширина подгоняется, а вот свойство "With" - остаётся неизменным!!!
Может поскажете другую идею?
В отчёте есть два дата-бэнда: нормальный(горизонтальный) и вертикальный.
На пересечении бэндов мэмо-поле с внешней переменной (используется обработсик "OnGetValue").
Первое, что пришло на ум, зделать отчёт двухпроходным, а для мэмо-поля поставить признак "Автоширина" и поставить ему обработчик "MemoX.OnAfterPrint", который запоминает в массиве ширину этого мэмо (елси оно больше того, которое там уже записано). Таким образом, за первый проход я подсчитываю максимальную ширину ячеек для каждой колонки (именно эти значения и сохраняются в массиве).
В обработчике "MemoX.OnBeforePrint" во время второго прохода - выставляю свойство "MemoX.Width := ColumnsMax[ColumnNo];" , т.е. делаю ширину, равную максимальной для данной колонки.
Однако этот метод НЕ РАБОТАЕТ!!! - Поле "MemoX.With" - не изменяется, даже если установлено свойство "Автоширина" - т.е. на экране действительно ширина подгоняется, а вот свойство "With" - остаётся неизменным!!!
Может поскажете другую идею?