Некорректно работает функция Format

отредактировано 15:36 Раздел: FastReport .NET
Добрый день!

Не поскажите в чем может быть проблема и как ее решить
имеется подвал группы, на нем находится TextObject, в нем прописано [Format("{0:D2}:{1:D2}", ([GroupFooter20eenrsquNullTime]-[GroupFooter20eenrsquNullTime]%60)/60, [GroupFooter20eenrsquNullTime]%60)], где GroupFooter20eenrsquNullTime - итоги

не проискодит форматирование числового выражения

П.С. Данная запись должна привести число заданное в GroupFooter20eenrsquNullTime в временной формат hh:mm

Заранее спасибо

Комментарии

  • отредактировано November 2010
    Добрый день.

    Не удалось воспроизвести вашу проблему. Форматирование работает.
    Не могли бы вы приложить пример простого отчета, который воспроизводит эту проблему?
  • отредактировано 15:36
    Подскажите, пожалуйста, а в принципе возможно ли в скрипте передать текстовому полю значение не текстовой переменной, без ее конвертации в строку, что бы оставить возможность задания форматирования из дизайнера? Т.е. что-то типа textBox.Value = 5;
    Спасибо.
  • отредактировано November 2010
    1. Текстовому полю можно передать значение через свойство Text, но только строковое значение, так как свойство это имеет тип String, потом оно автоматически будет приведено к типу заданному форматированием поля.
    2. Скрипт выполняется при построении отчета. Поэтому, можно задать в дизайнере требуемое форматирование поля. А из скрипта можно передать значение поля непосредственно перед построением отчета, используя событие поля BeforePrint, так:
    (sender as TextObject).Text = "5";
    
    3.Если вы разработчик, то вы можете из кода своего приложения задать значения полей, потом запустить дизайнер отчета, и там уже задать форматирование полей.
  • отредактировано 15:36
    OlegK написал: »
    2. Скрипт выполняется при построении отчета. Поэтому, можно задать в дизайнере требуемое форматирование поля. А из скрипта можно передать значение поля непосредственно перед построением отчета, используя событие поля BeforePrint, так:
    (sender as TextObject).Text = "5";
    
    Спасибо! Собственно спрашивал, потому что так не сработало. А не сработало из-за того, что передавалось не целое число, и видимо, из-за различий в знаке разделителе не происходило обратной конвертации из строки. Просто привязка значения из источника данных делает это корректно, вот и подумал, а вдруг...
    Спасибо еще раз.

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

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