У меня есть SSD (службы отчетов SQL Server) RDLC в локальном режиме, который заполняется источником данных объекта. Однако данные из базы данных возвращаются как 0, а отчет отображается пустым.
Мой источник данных - это список <> типа "ReportData", который заполняется из запроса SQL Server.
public class ReportData
{
public object column1 { get; set; }
public object column2 { get; set; }
public object column3 { get; set; }
public ReportData(object column1, object column2, object column3)
{
this.column1 = column1;
this.column2 = column2;
this.column3 = column3;
}
}
Как это:
List<ReportData> results = new List<ReportData> {};
while (dr.Read())
{
results.Add(new ReportData(dr[0], dr[1], dr[2], dr[3]));
}
Посредством отладки я подтверждаю, что список заполнен значениями «0» и что они превращаются в объекты десятичных чисел (исходное поле SQL Server имеет тип money).
Затем я привязываю его к элементу управления ReportViewer с помощью:
ReportViewerControl.LocalReport.DataSources["ObjectDataSource"].Value = results;
И просто используйте его как обычно внутри отчета (я добавил источник данных и с помощью панели «Источник данных веб-сайта» перетащите значения в таблицу), так как указано, что он не отображает «0», а просто пуст.
Я использую Visual Studio 2008 с предполагаемым элементом управления ReportViewer 2005 (Microsoft не предоставляет tablix в локальном режиме :() и запрашиваю экземпляр SQL Server 2008 x64 Standard.
Кто-нибудь получил хоть какую-то подсказку, почему на нуле нет нуля?
Phil