Поведение Highlight

отредактировано 08:55 Раздел: FastReport 3.0
Почему для отчета вызывается событие OnGetValue c параметром ParName равным содержимому Highlight.Condition ? ;)
Например, для Highlight.Condition = "<HISTORY_STATE_CODE> = 1" ParName и будет равен "<HISTORY_STATE_CODE> = 1" !
Как сделать так, чтобы TfrxReport'у отдавался только HISTORY_STATE_CODE и потом подставлялся в выражение и считался ?
Или это должен делать DataSet ?

Комментарии

  • отредактировано 08:55
    Немного разобрался...
    В TfrxReport.DoGetValue передается Highlight.Condition, там она по простому парсится:
      i := Pos('."', ComplexName);
      if i <> 0 then
      begin
        s := Copy(ComplexName, 1, i - 1); { dataset name }
        DataSet := GetDataSet(s);
        Field := Copy(ComplexName, i + 2, Length(ComplexName) - i - 2);
      end;
    

    Таким образом из такой строки (написано по примеру из мануала) '<KSKCustomUserDataSet."HISTORY_STATE_CODE"> = 1'
    получается, что DataSet должен называться '<KSKCustomUserDataSet', а Field: 'HISTORY_STATE_CODE"> = ' ! ;)
    Как это вообще работает ?

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

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