Сортировка данных отчета в ReportViewer с использованием BindingSource - PullRequest
0 голосов
/ 08 января 2009

Я пытаюсь заставить ReportViewer отображать данные из BindingSource (VB.Net Winforms).

Я построил отчет на базовом наборе данных. Затем я настроил экземпляр источника данных для BindingSource. Я думал, что будет применяться сортировка, фильтрация и т. Д. Но похоже, что данные поступают из набора данных, а не из BindingSource.

Я подозреваю, что упускаю что-то простое.

Обновление: или, может быть, это не так просто - я опубликовал это несколько дней назад, и до сих пор никто не знает ответ! Может быть, я пытаюсь сделать что-то, что не может быть сделано?

Ответы [ 2 ]

0 голосов
/ 16 января 2009

Вот решение, которое я использовал. Вы помещаете данные из BindingSource в DataTable, а затем в отчете используется DataTable.

    ReportViewer1.Reset()
    Dim dt As DataTable
    dt = DirectCast(Form1.ProgActnBindingSource.Current, DataRowView).DataView.ToTable

    Dim rs = New ReportDataSource
    rs.Name = "name"
    rs.Value = dt

    ReportViewer1.ProcessingMode = ProcessingMode.Local
    ReportViewer1.LocalReport.DataSources.Clear()
    ReportViewer1.LocalReport.DataSources.Add(rs)
    ReportViewer1.LocalReport.ReportEmbeddedResource = "projectname.Report1.rdlc"

    Me.ReportViewer1.RefreshReport()
0 голосов
/ 12 января 2009

Вам потребуется указать сортировку в отчете (в RDL), поскольку она применяет свою собственную логику сортировки.

...