Отчеты VS 2010, развернуть ICollection - PullRequest
1 голос
/ 14 марта 2012

У меня есть следующий Linq, связанный с отчетом.

Возобновление отчета о счетах, но счета имеют несколько продуктов, поэтому у меня есть ICollection из Products.Идея состоит в том, чтобы отображать каждый счет с несколькими Products в одном отчете с использованием детализации (пытаясь избежать вложенных отчетов).

public class BillsDataSet
{
    public int IDGestion { get; set; }
    public string Comentario { get; set; }
    public ICollection<BillProduct> Products { get; set; }
    public decimal Monto { get; set; }
    public string Personal { get; set; }

    public static List<BillsDataSet> BillsPorFecha(DateTime dtFechaInicial, DateTime dtFechaFinal)
    {
        Context db = new Context();

        List<BillsDataSet> BillsDataSet = (from p in db.Bill
                                               select new BillsDataSet()
                                               {
                                                   IDGestion = p.IDBill,
                                                   Comentario = p.Historial.FirstOrDefault().Comentario,
                                                   Products = p.BillProduct,
                                                   Monto = p.Total,
                                                   Personal = p.Historial.FirstOrDefault().CodigoEmpleado
                                               }).ToList();
        return BillsDataSet;
    }
}

Я получаю эту ошибку в отчете веб-страницы ... I'm getting this error on the web page report

Чего я хочу добиться, так это развернуть Products, чтобы скрыть / показать все Products, относящиеся к счету ...

1 Ответ

0 голосов
/ 16 июля 2012

Попробуйте следующее

public static List<BillsDataSet> BillsPorFecha(DateTime dtFechaInicial, DateTime dtFechaFinal)
{
    Context db = new Context();

    List<BillsDataSet> BillsDataSet = (from p in db.Bill
                                           select new BillsDataSet()
                                           {
                                               IDGestion = p.IDBill,
                                               Comentario = p.Historial.FirstOrDefault().Comentario,
                                               Products = (from b in db.BillProduct where b.product_id == p.IDBill select new BillProduct()).ToList() as ICollection<BillProduct>,
                                               Monto = p.Total,
                                               Personal = p.Historial.FirstOrDefault().CodigoEmpleado
                                           }).ToList();
    return BillsDataSet;

}

...