Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
Добрый день!

Вопрос про FastReport (4).
Есть датасет, некоторым полям которого назначено свойство OnGetText.
В отчете используются поля датасета через TfrxDBDataSet. Но отображается 'голое' значение, как будто FastReport не использует свойства Text (DisplayText) для отображения значения поля.
В тоже время у TfrxDBDataSet есть свойство DisplayText[Index].
Как его можно прикрутить в отчете, тогда по идее должен быть вызван OnGetText?
13 сен 18, 17:00    [21673930]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge,

а что ты хочешь-то, в "глобальном" смысле?
14 сен 18, 08:40    [21674340]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge,

а что ты хочешь-то, в "глобальном" смысле?


В глобальном смысле не хочу дублировать код. Сейчас я использую TfrxReport.OnGetValue для возврата правильных значений для некоторых полей. При этом, у этих полей есть TField.OnGetText (для отображения в DBGrid).

И еще вопросы:
1. почему не работает условие HighLight: (<Line>div 2)=0 (пробовал [(<Line>div 2)=0]). Я знаю как можно сделать это другим способом, я не понимаю, почему это не работает, пишет: 'Cound't convert variant type (null) into boolean'. <Line>- уже null?

2. почему не работает агрегатная функции count(), Sum() - см. скрин к посту.

Все это решается другими способами, но хочется упростить себе жизнь.

К сообщению приложен файл. Размер - 108Kb
14 сен 18, 09:48    [21674386]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
чччД__
Belotsky Serge,

а что ты хочешь-то, в "глобальном" смысле?


В глобальном смысле не хочу дублировать код. Сейчас я использую TfrxReport.OnGetValue для возврата правильных значений для некоторых полей. При этом, у этих полей есть TField.OnGetText (для отображения в DBGrid).


Не хочешь дублировать код - не дублируй. В чем проблема, где вопрос?
14 сен 18, 10:33    [21674437]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Василий 2
Member

Откуда:
Сообщений: 238
Была такая фигня, не помню, почему не стал допиливать OnGetText, добавил TfrxCustomDBDataSet.OnNewGetValue, перекрытие TfrxCustomDBDataset.GetValue, чтобы вызывал этот коллбэк, и вызов inherited GetValue в TfrxDBDataset.GetValue
14 сен 18, 10:37    [21674444]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
И еще вопросы:
1. почему не работает условие HighLight: (<Line>div 2)=0 (пробовал [(<Line>div 2)=0]). Я знаю как можно сделать это другим способом, я не понимаю, почему это не работает, пишет: 'Cound't convert variant type (null) into boolean'. <Line>- уже null?

Потому, что ты не знаешь, как работает div.

К сообщению приложен файл. Размер - 22Kb
14 сен 18, 10:40    [21674446]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge
пропущено...


В глобальном смысле не хочу дублировать код. Сейчас я использую TfrxReport.OnGetValue для возврата правильных значений для некоторых полей. При этом, у этих полей есть TField.OnGetText (для отображения в DBGrid).


Не хочешь дублировать код - не дублируй. В чем проблема, где вопрос?


Давай без флейма, я тебя ни к чему не обязываю.
14 сен 18, 10:42    [21674453]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge
И еще вопросы:
1. почему не работает условие HighLight: (<Line>div 2)=0 (пробовал [(<Line>div 2)=0]). Я знаю как можно сделать это другим способом, я не понимаю, почему это не работает, пишет: 'Cound't convert variant type (null) into boolean'. <Line>- уже null?

Потому, что ты не знаешь, как работает div.


Да тут я ошибся, надо 'mod'. Все равно не работает.
14 сен 18, 10:43    [21674455]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge

2. почему не работает агрегатная функции count(), Sum() - см. скрин к посту.

Все это решается другими способами, но хочется упростить себе жизнь.

Потому, что ты не понял, что написано в документации к FR.

К сообщению приложен файл. Размер - 17Kb
14 сен 18, 10:44    [21674456]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
чччД__
пропущено...

Потому, что ты не знаешь, как работает div.


Да тут я ошибся, надо 'mod'. Все равно не работает.

Работает.

К сообщению приложен файл. Размер - 34Kb
14 сен 18, 10:47    [21674460]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
Давай без флейма...

Это - не флейм:
Василий 2
Была такая фигня, не помню, почему не стал допиливать OnGetText, добавил TfrxCustomDBDataSet.OnNewGetValue, перекрытие TfrxCustomDBDataset.GetValue, чтобы вызывал этот коллбэк, и вызов inherited GetValue в TfrxDBDataset.GetValue

- ?
14 сен 18, 10:48    [21674463]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge
пропущено...


Да тут я ошибся, надо 'mod'. Все равно не работает.

Работает.


У меня не работает.

И документацию я читал:
https://www.fast-report.com/documentation/UserMan-ru/index.html?24.htm

по поводу Count, в документации не написано, что функцию Count() можно вызывать без параметров.
https://www.fast-report.com/documentation/UserMan-ru/index.html?24.htm
И даже в этом случае - не работает.

К сообщению приложен файл. Размер - 134Kb
14 сен 18, 11:06    [21674481]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Василий 2
Member

Откуда:
Сообщений: 238
чччД__
Belotsky Serge
Давай без флейма...

Это - не флейм:
Василий 2
Была такая фигня, не помню, почему не стал допиливать OnGetText, добавил TfrxCustomDBDataSet.OnNewGetValue, перекрытие TfrxCustomDBDataset.GetValue, чтобы вызывал этот коллбэк, и вызов inherited GetValue в TfrxDBDataset.GetValue

- ?

Загугли определение флейма и не пори чушь.
14 сен 18, 11:22    [21674502]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
Василий 2
чччД__
пропущено...

Это - не флейм:
пропущено...

- ?

Загугли определение флейма и не пори чушь.


Развод пустых постов - тоже флейм. Вот как сейчас - не по делу.
14 сен 18, 11:25    [21674506]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
чччД__
пропущено...

Работает.


У меня не работает.
...

Потому что ты почему-то не видишь, что написано в сообщении об ошибке. FR говорит тебе, что ты херь в мемке написал.

К сообщению приложен файл. Размер - 109Kb
14 сен 18, 11:27    [21674514]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
goldmi45
Member

Откуда:
Сообщений: 1053
Belotsky Serge,

FastReport 4.14

К сообщению приложен файл. Размер - 37Kb
14 сен 18, 11:28    [21674516]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge
пропущено...


У меня не работает.
...

Потому что ты почему-то не видишь, что написано в сообщении об ошибке. FR говорит тебе, что ты херь в мемке написал.


Мимо, это я проверял, ругается не на это. Count() и Sum() просто выводят пустое значение. Ругается именно выражение в Highlight.
Здесь Highlight сделан по другому.

К сообщению приложен файл. Размер - 42Kb
14 сен 18, 11:32    [21674519]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
goldmi45
Belotsky Serge,

FastReport 4.14


У меня 4.15, насколько мне известно - последний релиз для 4. 5-ую версию мы не покупали.
Не работает, возможно дела в датасете. У вас какие-то просты наборы.
14 сен 18, 11:36    [21674526]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge,

похоже на то, что ты что-то недоговариваешь. Делай минимальное приложение, воспроизводящее проблему, и выкладывай сюда.
14 сен 18, 11:38    [21674528]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
goldmi45
Member

Откуда:
Сообщений: 1053
Belotsky Serge,

просто тестовый пример. MasterData привязан не к датасету, а установлено количество записей - 10.
14 сен 18, 11:39    [21674529]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
goldmi45
Belotsky Serge,

просто тестовый пример. MasterData привязан не к датасету, а установлено количество записей - 10.


На простом датасете тоже на работает :(
Count тоже не работает.

К сообщению приложен файл. Размер - 136Kb
14 сен 18, 11:48    [21674537]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
чччД__
Guest
Belotsky Serge
goldmi45
Belotsky Serge,

просто тестовый пример. MasterData привязан не к датасету, а установлено количество записей - 10.


На простом датасете тоже на работает :(
Count тоже не работает.


Давно бы сделал отдельное минимальное приложение да выложил тут.
14 сен 18, 11:50    [21674540]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
Belotsky Serge
goldmi45
Belotsky Serge,

просто тестовый пример. MasterData привязан не к датасету, а установлено количество записей - 10.


На простом датасете тоже на работает :(
Count тоже не работает.


Если убрать условие Highlight, то выводится примерно следующее. Count() - не работает.

К сообщению приложен файл. Размер - 49Kb
14 сен 18, 11:50    [21674542]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
goldmi45
Member

Откуда:
Сообщений: 1053
Belotsky Serge, ошибка не здесь. Если убрать кондишн у HighLight -- ошибка останется?
14 сен 18, 11:50    [21674543]     Ответить | Цитировать Сообщить модератору
 Re: FastReport, TfrxDBDataSet не использует TField.OnGetText?  [new]
Belotsky Serge
Member

Откуда: Гомель
Сообщений: 233
чччД__
Belotsky Serge
пропущено...


На простом датасете тоже на работает :(
Count тоже не работает.


Давно бы сделал отдельное минимальное приложение да выложил тут.


У меня встречное предложение - пришли свой *.fr3 - проверю у себя.
14 сен 18, 11:55    [21674550]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить