Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport, обновление frxPreview без переформирования отчета / 10 сообщений из 10, страница 1 из 1
11.11.2017, 18:49:15
    #39551529
C.CCP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Всем доброго дня.

На форме есть frxReport и frxPreview.
Как изменить в готовом отчете значения поля - конкретно дату - на форме есть кнопки "плюс день" и "минус день".
Принципно, что нельзя переделывать отчет, а именно в превью подкинуть.
В документации нашел как получить из memo значение или установить, а вот в превью - не получается.

Спасибо.
...
Рейтинг: 0 / 0
11.11.2017, 18:58:37
    #39551535
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Зачем frxPreview ? Вас стандартный просмоторщик не устраивает ?
...
Рейтинг: 0 / 0
11.11.2017, 19:01:29
    #39551536
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Я так понимаю, что вы хотите передать в отчёт некое значение, но исходя их ваших же слов "Принципно, что нельзя переделывать отчет".
Как же это НОВОЕ значение появится в отчёте ?
...
Рейтинг: 0 / 0
11.11.2017, 19:10:05
    #39551545
C.CCP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Торопился, поэтому некорректно описал ситуацию.
На форме (она - одна единственная) есть две кнопки (плюс день и минус день), и превьюха (т.е. уже сформированный отчет) - этикетка товара.
На этой этикетке имеется помимо всего прочего и дата.
Так вот дату надо в превьюхе синхронно менять по кнопкам.


Превьюха обновляется через сканер штрих-кода.
Но по данным кнопкам не подразумевается перестроение отчета - только замена даты.

Вот.
Спасибо.
...
Рейтинг: 0 / 0
11.11.2017, 19:14:28
    #39551547
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Если отчёт уже сформирован, то поменять в нём конкретное значение довольно проблематично.
Проще формировать отчёт с уже готовыми значениями
...
Рейтинг: 0 / 0
11.11.2017, 19:21:08
    #39551552
C.CCP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Хочу пояснить, почему не хочется переформировывать отчет.
Дело в том, что пользователь умудряется делать пять нажатий на кнопку в секунду - как результат лезут постоянные эксепшены.
Хотя в самом этом процессе я не вижу ничего страшного, ну почему бы не отщелкать пять дней за секунду и увидеть результат, а не ждать пока появится новая готовая этикетка, нажать опять, подождать, нажать, .....

Спасибо
...
Рейтинг: 0 / 0
11.11.2017, 19:26:00
    #39551553
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
C.CCP,

Почему бы тогда не сделать отдельную кнопку для формирования отчета? Пускай пользователь сначала нащелкается и всё настроит, а потом уже только сформирует итоговый отчет.
...
Рейтинг: 0 / 0
11.11.2017, 19:37:25
    #39551557
C.CCP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Вот именно так все и сделано!
Пользователь сначала указывает дату, и только потом сканирует товар.
Соответственно в этикетке уже имеется эта дата.
Но по логике программы было бы ОЧЕНЬ НЕПЛОХО, если бы дату можно было бы поменять при сформированном отчете.
Но в данный момент это перекрыто - как только изменилась дата - вызываю frxPreview.Clear

Спасибо.
...
Рейтинг: 0 / 0
11.11.2017, 20:07:47
    #39551561
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета


В отчёте у Мемки с Датой установлен Tag = 123 (чтобы отличить её от других Мемок
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var P: TfrxPage;
    i: integer;
    S: string;
begin
  with frxPreview1 do begin
    P := PreviewPages.Page[PageNo - 1];
    for i := 0 to P.AllObjects.Count-1 do
      if TObject(P.AllObjects.Items[i]) is TfrxMemoView then
        with TfrxMemoView(P.AllObjects.Items[i]) do
         if Tag = 123 then Text := DateToStr(DateTimePicker1.Date);
    try
      Lock;
      PreviewPages.ModifyPage(PageNo - 1, TfrxReportPage(P));
    finally
      Unlock;
    end;
  end;
end;
...
Рейтинг: 0 / 0
11.11.2017, 21:01:59
    #39551579
C.CCP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FastReport, обновление frxPreview без переформирования отчета
Йес!
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FastReport, обновление frxPreview без переформирования отчета / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]