Как отобразить данные в элементе таблицы данных - PullRequest
0 голосов
/ 16 июня 2011

Вот проблема, с которой я столкнулся в своем проекте веб-формы ASP.NET.

У меня есть Datalist, который показывает все продукты из базы данных, каждый продукт имеет один или несколько цветов. В данный момент я пишу такие запросы, чтобы показать все товары и фотографии по умолчанию, но не цвета, связанные с этим продуктом:

var query = from p in db.Products
                        from c in db.Pics
                        where c.ProductId == p.ProductId
                        where c.IsDefault == true
                        select new { p.ProductId, p.ProductType, p.Name, p.Number, p.Package, p.Model, p.Size, p.Material, p.MantoLengh, c.PicAddress};

            DataList1.DataSource = query;
            DataList1.DataBind();

Я не знаю, как связать связанные цвета с элементом управления списком (например, списком данных или другими элементами управления списком) внутри моего элемента управления DataList, вот представление моей диаграммы базы данных для получения дополнительной информации:

enter image description here

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Я думаю, что этот запрос будет работать, хотя я заранее извиняюсь, если мой синтаксис немного искажен, я больше VB, чем C # ...

        var query = from p in db.Products 
                    select new { p.ProductId, 
                        p.ProductType, 
                        p.Name, 
                        p.Number, 
                        p.Package, 
                        p.Model, 
                        p.Size, 
                        p.Material, 
                        p.MantoLengh, 
                        p.Pics.Where(x => x.IsDefault).Select(x => x.PicAddress).ToList(), 
                        p.Colors.Select(x => x.ColorHex).ToList() };

В принципе, в выбранном вами типе анонимной вы можете использовать лямбдуполучить коллекции «один ко многим», используя Select (). ToList (), и использовать .Where () для выполнения фильтрации.

Надеюсь, что это поможет.

РЕДАКТИРОВАТЬ - В ответ на вашикомментарий:

Я выбрал шестнадцатеричные цветовые строки, потому что они выглядели как лучшая ставка для создания реальных цветов.Чтобы получить цвет от Hex, см. эту статью .Где в списке вы хотите добавить цвета?

0 голосов
/ 16 июня 2011

Я полагаю, что после того, как вы связали результаты с вашим списком данных, вы сможете сделать что-то подобное в своем списке данных $ <% # Query.DataItem ( "Цвет")%>

...