Не работает замена символа в Memo для динамического отчета. Fr4

отредактировано 18:51 Раздел: FastReport 4.0
Прошу помощи. Не работает замена символа в Мемо для значений столбца (в котором может быть либо 1, либо 0)
Отчет создается динамически
//PrintedList - это TcxDBTreeList
LeftPos:=0;
for I := 0 to PrintedList.ColumnCount-1 do
  begin
    if not PrintedList.Columns[I].Visible then Continue;
    with TfrxMemoView.Create(DataBand) do
      begin
        CreateUniqueName;
        DataSet := drDataSet;
        DataField :=PrintedList.DataController.DataSet.Fields[I].FieldName;
        Frame.Width:=1;
        Frame.Typ:=[ftBottom,ftTop,ftLeft,ftRight];
        Font.Name:=PrintedList.Font.Name;
        Font.Size:=PrintedList.Font.Size;
        SetBounds(LeftPos, 0, ColWidths[I], 0);
        WordWrap:=True;
        HideZeros:=True;
        StretchMode:=smMaxHeight;
        case TcxDBTreeListColumn(PrintedList.Columns[I]).DataBinding.Field.Alignment of
          taLeftJustify: HAlign := haLeft;
          taCenter: HAlign := haCenter;
          taRightJustify: HAlign := haRight;
        end;
        if pos('_FLAG',DataField)>0 then
        begin
          Memo.Text:='[IIF(<drDataSet."'+DataField+'">=0,'''',''X'')]'; //---- Блок замены символа 
          HAlign := haCenter;
        end;
        VAlign := vaCenter;
      end;
      LeftPos:=LeftPos+ColWidths[I]; // ColWidths[I] - обращение к массиву. Считается позиция начала очередной колонки
  end;

Не работает. Как выводил 1, так и выводит.
Помогите плз. Такая мелочь, а так достала) Может быть, есть еще какие-нить варианты реализации? Именно при динамическом формировании...

Комментарии

  • gpigpi
    отредактировано June 2012
    Попробуйте
    if pos('_FLAG',DataField)>0 then
            begin
              Memo.Text:='[IIF(<drDataSet."'+DataField+'">=0,'''',''X'')]'; ---- Блок замены символа 
              HAlign := haCenter;
              DataSet := nil;
              DataField := '';
            end;
    
  • отредактировано 18:51
    gpi написал: »
    Попробуйте
    if pos('_FLAG',DataField)>0 then
            begin
              Memo.Text:='[IIF(<drDataSet."'+DataField+'">=0,'''',''X'')]'; ---- Блок замены символа 
              HAlign := haCenter;
              DataSet := nil;
              DataField := '';
            end;
    

    Не работает (
    Вылетает ошибка:
    Unknown variable or datafield: drDataset."USECATEG_FKAG"

    USECATEG_FKAG - существующее поле в датасете

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

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