Помощь в просмотре отчетов - PullRequest
0 голосов
/ 19 марта 2010

Таблица «Мои товары» содержит товары, у каждого из которых есть определенная дата. Я хочу создать отчет, который отображает элементы между двумя разными датами. Например, я бы поставил два элемента управления timedatepicker, чтобы пользователь выбирал с: 24/9/2009 по: 19/3/2010, а затем нажимал кнопку, чтобы создать отчет по элементам между этими датами.

Я использую элемент управления Report Viewer, а не Crystal Report.

Редактировать:

Хорошо, я понял это, используя запрос linq, и привязал его к источнику данных следующим образом:

var query = from c in MyDatabase01DataSet.Items 
                    where c.ProductDate >= Convert.ToDateTime(x) && c.ProductDate <= Convert.ToDateTime(y) 
                    select c;
        ItemsBindingSource.DataSource = query.ToList();

        reportViewer1.LocalReport.ReportEmbeddedResource = "[reportTest.Report3.rdlc";
        reportViewer1.LocalReport.ReportPath = "Report3.rdlc";
        reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
        reportViewer1.RefreshReport();

Ответы [ 2 ]

1 голос
/ 19 марта 2010
  • Используйте дату (с / по) в предложении where вашего запроса. Или, если оно есть в DataTable, используйте .Select для фильтрации определенных записей. Примерно так:

    string strFilter = "dateFromCol>" + DateFrom.Value + "и dateToCol <" + DateTo.Value; yourTable.Select (strFilter); </p>

  • Свяжите свойство .DataSource с вашей DataTable.

    reportViewer1.LocalReport.DataSources.Add (new ReportDataSource ("yourDataSourceName", yourTable));

  • Обновление ReportViewer

В этой статье приведен простой пример, который может помочь вам начать работу.

0 голосов
/ 19 марта 2010
var query = from c in MyDatabase01DataSet.Items 
                    where c.ProductDate >= Convert.ToDateTime(x) && c.ProductDate <= Convert.ToDateTime(y) 
                    select c;

        ItemsBindingSource.DataSource = query.ToList();

        reportViewer1.LocalReport.ReportEmbeddedResource = "[reportTest.Report3.rdlc";
        reportViewer1.LocalReport.ReportPath = "Report3.rdlc";
        reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local;
        reportViewer1.RefreshReport();
...