Отчет Windows добавить в список источников данных - PullRequest
0 голосов
/ 20 марта 2011

У меня есть небольшая проблема :) Я создал объект, который я хочу заполнить и отобразить в отчете Windows в VS 2008.

Код моего объекта

namespace MvcApplication3.entities
{
    public class invoiceRow
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Surname{get;set;}
        public decimal Income { get; set; }

    }
}

Что я хочусделать, это отобразить эту сущность в окне источника данных для отчета, чтобы я мог выбрать источник данных (вместе с сущностью и добавить его в отчет).Я знаю, как связать его, но не знаю, как получить отчет для обнаружения этой сущности.


Я нашел, если я создаю класс: с кодом следующим образом,

  public List<invoiceRow> rows()
    {
        List<invoiceRow> list = new List<invoiceRow>();

        return (list);
    }

отчетобнаружит сущность.Как же я не понимаю почему?Должен ли он быть таким, каким должен быть источник данных, для отображения сущности в источниках данных отчета?

1 Ответ

0 голосов
/ 20 марта 2011

Кажется, с вашим классом сущностей все в порядке. Для меня это работает как источник данных. Вы искали достаточно сложно, потому что я думаю, что мастер настройки источника данных сортирует классы по их пространству имен. Вот мой код:

reportViewer1.ProcessingMode = ProcessingMode.Local;
reportViewer1.LocalReport.LoadReportDefinition(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.Report1.rdlc"));
reportViewer1.LocalReport.DataSources.Clear();
var dataSourcesNames = (ReadOnlyCollection<string>) reportViewer1.LocalReport.GetDataSourceNames();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(dataSourcesNames[0], objectCollection));//objectCollection is a List<MyObject>
reportViewer1.RefreshReport();

И да, источник данных объекта всегда должен быть коллекцией. Если вы думаете, что это что-то вроде таблицы базы данных (в которой всегда несколько строк).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...