Функция COUNT(,)

отредактировано 21:11 Раздел: FastReport 3.0
function COUNT(Band: Variant=0; Flags: Integer=0): Variant

Возвращает кол-во строк в Band-е. Мне она и нужна! Но не пойму, что нужно подставить вместо Variant (номер бэнда?название бэнда?) и Integer. Подскажите, пожалуйста!

Комментарии

  • отредактировано 21:11
    user manual читали?
  • отредактировано 21:11
    Да, о'кей, все получилось - только как умножить получившееся число на другое?
  • отредактировано 21:11
    [Count(MasterData1) * 10]
  • отредактировано April 2005
    Мне нужно использовать результат функции COUNT() как некое целое k и использовать при умножении. Но как целое число, на которое можно умножать, результат не видится. Ф-ия int() ничего не дает. Вообще мне нужно передать это значение как Height поля memo. Пишу в коде:

    memo1.height:= memo77.value;

    где memo77 и равно, скажем, [COUNT(MasterData1)*10]

    Как быть?
  • отредактировано 21:11
    Memo77.Value будет доступно только в событии OnAfterData, учтите это.
  • отредактировано April 2005
    AlexTZ написал:
    Memo77.Value будет доступно только в событии OnAfterData, учтите это.
    procedure Memo77OnAfterData(Sender: TfrxComponent); ? Правильно?

    Но ничего не получается ;)

    Правда, мне нужно передать значение из memo77 Subreport-а в memo1.height, которое находится в Page1.
  • отредактировано 21:11
    А через переменные передавать не пробовал?
  • отредактировано 21:11
    Markus написал:
    А через переменные передавать не пробовал?
    Пробовала. Тоже что-то не выходит.
    Memo77 действительно доступно в событии OnAfterData, но значение его получается передать только в memo в Subreport-е.
    Я так понимаю, мне нужна какая-нибудь public переменная?
  • отредактировано April 2005
    Ну дак и создай в чём проблема. В самом начале скрипта
    var blablabla:integer;
    
    будет видна везде
  • отредактировано 21:11
    окей, создала.
    Но, похоже, событие Memo77OnAfterData, где переменной k присваивается значение, не выполняется до события Page1OnBeforePrint и k "пустая".
    В какой последовательности идут события? И как правильно вызвать Memo77OnAfterData до Page1OnBeforePrint? ;)
  • отредактировано 21:11
    Если у тебя Memo77 лежит на Page1, то "Memo77OnAfterData до Page1OnBeforePrint" не будет никогда. Т.к. сначала вызывается Page1OnBeforePrint, а затем у же печатаются все объекты на странице.

    Можешь попробовать двухпроходный отчёт, возможно тогда при втором проходе k будет со значением.
  • отредактировано 21:11
    Markus написал:
    Если у тебя Memo77 лежит на Page1
    Нет, memo77 как раз находится в Subreport
  • отредактировано 21:11
    написал:
    Нет, memo77 как раз находится в Subreport
    Тогда Subreport лежит наверно на Page1. Попробуй всётаки двупроходность.
  • отредактировано 21:11
    А как осуществить двупроходность?
  • отредактировано 21:11
    frxReport.Engineoptions.DoublePass:=True;
    
  • отредактировано 21:11
    Markus написал:
    frxReport.Engineoptions.DoublePass:=True;
    
    а где это пишется?
    (я новичок...)
  • DirexDirex Москва
    отредактировано 21:11
    Это писать в коде программы перед вызовом отчёта. Можно сделать проще - поставить галку "Два прохода" в свойствах отчёта (в дизайнере)
  • отредактировано 21:11
    Direx написал:
    Это писать в коде программы перед вызовом отчёта. Можно сделать проще - поставить галку "Два прохода" в свойствах отчёта (в дизайнере)
    ;) ;) ;)
    Спасибо, все получилось!
  • DirexDirex Москва
    отредактировано 21:11
    Читайте документацию - всё станет намного проще. По сравнению с FR2 доки просто шикарные ;)

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

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