не удается отобразить связанную таблицу значений полей ReportViewer

#c# #.net #asp.net #report

#c# #.net #asp.net #Сообщить

Вопрос:

Я хочу отобразить данные таблицы. И я не могу отобразить вместо полей-id их значение из таблицы, на которую они ссылаются.

Я добавляю новый элемент — Reportint-> Отчет (*.rdcl), а затем добавить в веб-форму ReportViewer. ПРОТИВ dispayed wizard и я добавляю новый набор данных, где выбираю свой бизнес-метод для выбора данных.

У меня есть обитатели таблицы, в которой содержится поле FacultyID, но я хочу видеть значение из связанной таблицы, в которой обитает.FacultyID == Факультет.FacultyID.

 public List<Inhabitant> SelectAllWithoutParameters()
    {
        using (DataContext dc = Infrastructure.DataContext)
        {
            DataLoadOptions options = new DataLoadOptions();
            options.LoadWith<Inhabitant>(u => u.Faculty);
            dc.LoadOptions = options;
            List<Inhabitant> inhs = dc.GetTable<Inhabitant>().OrderBy(u => u.FullName).ToList();
            return inhs;
        }
    }
  

Нажмите Вставить — Новая таблица. Я могу выбрать все поля от жителя, но не от факультета.

Как решить эту проблему

Ответ №1:

Я ничего не знаю об отчетах rdcl, но я бы создал новый класс для проецирования данных, что-то вроде Residentantreport.

Затем вы просто меняете эту строку:

 List<Inhabitant> inhs = dc.GetTable<Inhabitant>().OrderBy(u => u.FullName).ToList();
  

к чему-то вроде этого:

 List<InhabitantReport> inhs = dc.GetTable<Inhabitant>().OrderBy(u => u.FullName).Select(r=>new InhabitantReport() 
{
 //Populate data.
}).ToList();