c# Работаем с rdlc

Что нам надо сделать.
Создаем DataTable, на основе него DataSet, задаем имя файла rdlc в ReportViewer и рефрешим его. Вот код:

reportViewer2.LocalReport.ReportEmbeddedResource = "MyProject.MyReportFolder.MyReport.rdlc";
reportViewer2.LocalReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));
 
SqlConnection conn = new SqlConnection(MyConnString);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand("exec MyStoredProc", conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
 
reportViewer2.LocalReport.DataSources.Clear();
Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", ds.Tables[0]);
reportViewer2.LocalReport.DataSources.Add(rds);
reportViewer2.RefreshReport();


Какие могут быть проблемы:
1) Просит пермиссион. Решение

reportViewer2.LocalReport.SetBasePermissionsForSandboxAppDomain(new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted));



2) не мог найти как увеличить Group в Табликсе. Решение надо добавлять строки вне, внутри группы. Картинка для наглядности:
PduaZ.png (375×200)

3)Если создан rdl на основе датасета которого у вас нет, т. е. кто то передал вам этот отчет. Можно ли заполнить свой DataSet c такими же полями и передать чтобы всё отображалось корректно. Да можно.

No comments:

Post a Comment