Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport Cross-tab не работает свойство AllowExpressions / 7 сообщений из 7, страница 1 из 1
08.11.2021, 16:18
    #40110022
OlyaLora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
Всем доброго времени суток!

Вопрос, собственно, предельно прост. При попытке изменить свойство AllowExpressions в значение 'True', fastreport самостоятельно меняет это свойство на 'False'.
Данное свойство нужно мне для того, чтоб обозвать итоги в cross-tabe не "Итого"/"Total"/"Итого по"/"Всего", а "Итого по <конкретное значение>". Допустим, итого по лицевому счету такому-то заказов...
При попытке сделать без этого свойства, содержимое ячейки так и выводится безо всяких значений полей, т е что-то типа "Итого по [MyID]".

Может, не хватает каких-либо свойств на самом cross-tab?

Версия FastReport 6
...
Рейтинг: 0 / 0
08.11.2021, 18:56
    #40110090
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
Разработчики ЦЕЛЕНАПРАВЛЕННО отключают AllowExpressions при инициализации мемок в Кроссе
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
procedure TfrxCustomCrossView.InitMemos(AddToScript: Boolean);
var
  i: Integer;
  m: TfrxCustomMemoView;
  NestedObjects: TList;
begin
  ...

  for i := 0 to FRowMemos.Count - 1 do
  begin
    m := RowMemos[i];
    m.GapX := FGapX;
    m.GapY := FGapY;
    m.AllowMirrorMode := AllowMirrorMode;
    m.Visible := true;
    m.Restrictions := m.Restrictions - [rfDontMove, rfDontSize];
    m.Name := Name + 'Row' + IntToStr(i);
    if AddToScript then
      Report.Script.AddObject(m.Name, m);

    m := RowTotalMemos[i];
    m.GapX := FGapX;
    m.GapY := FGapY;
    m.AllowMirrorMode := AllowMirrorMode;
    m.AllowExpressions := False;
    m.Name := Name + 'RowTotal' + IntToStr(i);
    if AddToScript then
      Report.Script.AddObject(m.Name, m);
  end;



Если это отключить, то состояние AllowExpressions запоминается, но не думаю, что это правильно. Правильно будет так
тест
...
Рейтинг: 0 / 0
08.11.2021, 19:35
    #40110103
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
Можно в промежуточный итог вставить значение
...
Рейтинг: 0 / 0
08.11.2021, 20:51
    #40110126
Bali
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
OlyaLora,
Нужно "Итого по [value]"
...
Рейтинг: 0 / 0
09.11.2021, 14:10
    #40110318
OlyaLora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
DimaBr,

огромнейшее спасибо за ответы. Уже не в первый раз делитесь ценным опытом )))
...
Рейтинг: 0 / 0
09.11.2021, 14:12
    #40110320
OlyaLora
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
Bali,

Спасибо огромное за подсказку. Уж, не знаю, как не углядела в руководстве. Бывает....

Это всё привычка и искренняя уверенность, что "и так понятно"
...
Рейтинг: 0 / 0
09.11.2021, 14:16
    #40110322
gpi
gpi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport Cross-tab не работает свойство AllowExpressions
Код: pascal
1.
2.
3.
4.
procedure Cross1OnPrintRowHeader(Memo: TfrxMemoView; HeaderIndexes, HeaderValues, Value: Variant);
begin
   if Value = 'Grand Total long text' then Memo.Text := 'Итого за ' + VarToStr(<MyID>);  
end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport Cross-tab не работает свойство AllowExpressions / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]