Вопросы по данным

отредактировано 07:05 Раздел: FastReport .NET
FastReport.Net 1.3.12
1. Как создать источник данных без привязки к базе, такой который в внутри отчета прописывается как:
  <Dictionary>
    <TableDataSource Name="Employees" ReferenceName="Data.Employees" DataType="System.Int32" Enabled="true">
      <Column Name="ID" DataType="System.Int32"/>
      <Column Name="Name" DataType="System.String"/>
    </TableDataSource>
  </Dictionary>
взято из файла
C:\Program Files\FastReports\FastReport.Net\Demos\C#\DataFromDataSet\report.frx

2. внутри отчета sql запрос:
<!--sql--><div class='sqltop'>SQL</div><div class='sqlmain'><!--sql1--><span style='color:blue;font-weight:bold'>select</span> * <span style='color:green'>from</span> <span style='color:orange'>some_table</span> <span style='color:orange'><span style='color:green'>where</span> </span>id<span style='color:orange'>=</span>@param <!--sql2--></div><!--sql3-->
значение по умолчанию для param=1, тип int32
в форме:
Report report= new Report();
report.Load(Application.StartupPath + "\\report.frx");
report.SetParameterValue( "param", 7 );
report.Show();
так отчет все равно вызывается со значением по умолчанию

3. Как сделать следующее (для отладки):
В отчете есть параметр. Если я в дизайнере нажимаю кнопку "Предварительный просмотр", то он меня спрашивает значения для параметра. Если из кода вызываю Show() то не спрашивает.

Комментарии

  • отредактировано 07:05
    Здравствуйте,

    1) нужно зарегистрировать источник данных вызовом report.RegisterData(DataTable, name).
    2) Вы путаете параметр запроса и параметр отчета. Метод SetParameterValue устанавливает параметр отчета. См. документацию:
    http://fast-report.com/documentation/UserM...passvalueto.htm
    3) добавьте в отчет диалоговую форму, и перетащите на нее параметр. Если не хотите показывать форму, установите ее св-во Visible = false.
  • отредактировано 07:05
    1
    написал:
    нужно зарегистрировать источник данных вызовом report.RegisterData(DataTable, name).
    Это уже в коде, а как это сделать в дизайнере?
    2. Понял, спасибо
    3. Речь шла о чем то вроде:
    #if DEBUG
    ... запрос значения для параметра
    #endif
    
  • отредактировано 07:05
    1) Возможны два варианта:
    - источник данных находится в приложении, его надо регистрировать вызовом report.RegisterData;
    - источник данных создается в отчете, в меню "Данные/Новый источник данных...".

    3) запросить значение параметра можно только с помощью диалоговой формы. Скрыть диалог можно так:

    report.Load(...);
    (report.FindObject("Form1") as DialogPage).Visible = false;
    report.Show();

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

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