Отображение нескольких изображений продукта в ячейке Datalist - PullRequest
1 голос
/ 14 апреля 2020

У меня есть проект, в котором я должен отображать такие продукты, как веб-сайт Ecommerce (со скольжением нескольких изображений).

Там я хочу отобразить несколько изображений каждого продукта в ячейке.

У меня есть 2 таблицы с именем Product_Master и Product_Images следующим образом: -

Product_Master: -

Id Pcode Pname MRP DP

1 1234 Samsung Mobile 20000 18000

2 2345 Mi Mobile 15000 14000

3 3456 Realme Mobile 12000 10000

4 4567 Nokia Mobile 9000 8000

Product_Images: -

Id Pcode ImgName

1 1234 Samsung1.jpg

2 1234 Samsung2.jpg

3 1234 Samsung3.jpg

4 1234 Samsung4.jpg

5 2345 Mi1.jpg

6 2345 Mi2.jpg

7 2345 Mi3.jpg

8 3456 Realme1.jpg

9 3456 Realme2.jpg

10 4567 Nokia1.jpg

11 4567 Nokia2.jpg

12 4567 Nokia3.jpg

* 10 55 * После объединения этих таблиц я получил 12 строк в формате данных

Product_Images.Id - Product_Master.Pcode - Product_Images.ImgName - Product_Master.Pname - Product_Master.MRP - Product_Master .DP

1 1234 Samsung1.jpg Samsung Mobile 20000 18000

2 1234 Samsung2.jpg Samsung Mobile 20000 18000

3 1234 Samsung3.jpg Samsung Mobile 20000 18000

4 1234 Samsung4.jpg Samsung Mobile 20000 18000

5 2345 Mi1.jpg Mi Mobile 15000 14000

6 2345 Mi2.jpg Mi Mobile 15000 14000

7 2345 Mi3.jpg Mi Mobile 15000 14000

8 3456 Realme1.jpg Realme Mobile 12000 10000

9 3456 Realme2.jpg Realme Mobile 12000 10000

10 4567 Nokia1. jpg Nokia Mobile 9000 8000

11 4567 Nokia2.jpg Nokia Mobile 9000 8000

12 4567 Nokia3.jpg Nokia Mobile 9000 8000

Теперь я хочу отобразить 4 ячейки для продуктов который содержит

  • Название продукта на этикетке

  • Код продукта на этикетке

  • Несколько изображений с ползунком в повторителе или любом другом элементе управления /

  • Dp на этикетке

  • MRP на этикетке.

Здесь я прилагаю свой код для привязки данных к списку данных и его повторителю. После применения данного кода я получил 12 ячеек, содержащих одинаковую информацию о продуктах с разными изображениями.

Но я хочу показать информацию о каждом продукте с несколькими изображениями в виде слайдера в одной ячейке. Значит, я хочу отобразить 4 ячейки, в которых изображение продукта может скользить ...

Пожалуйста, помогите мне.

Надеюсь, вы поймете мою озабоченность ....

Спасибо

<asp:DataList ID="DatListProduct" runat="server" OnItemDataBound="DatListProduct_ItemDataBound">
<ItemTemplate>
    <asp:Label ID="lblProdName" runat="server" Font-Bold="true" Font-Size="Medium" Text='<%# Eval("Pnamae")%>'></asp:Label>
    <asp:Label ID="lblProdPcode" runat="server" Font-Bold="true" Font-Size="Medium" Text='<%# Bind("Pcode") %>' Visible="false"></asp:Label>
    <asp:Repeater ID="InnerRepeaterCourseResults" runat="server">
        <ItemTemplate>
            <asp:Image ID="ImgProdImg" runat="server" Height="220px" ImageUrl='<%# Eval("imgname", "~Gallery/{0}")%>' Width="220px" />
        </ItemTemplate>
    </asp:Repeater>
    <asp:Label ID="lblProdDP" runat="server" Font-Bold="true" Font-Size="Large" Text='<%# Bind("DP") %>'></asp:Label>
    <asp:Label ID="lblProdMRP" runat="server" Font-Bold="false" Font-Strikeout="true" Font-Size="Medium" Text='<%# Bind("MRP") %>'></asp:Label>
</ItemTemplate>

    Private Sub DataListProducts()
        Dim da As New SqlDataAdapter
        Dim ds As New DataSet
        da = New SqlDataAdapter("SELECT Product_Images.Id, 
        Product_Master.Pcode, Product_Images.Imgname, 
        Product_Master.Pname, 
        Product_Master.MRP, Product_Master.DP FROM Product_Master INNER 
        JOIN Product_Images ON Product_Master.Pcode = 
        Product_Images.Pcode", con)
        Dim dt As New DataTable
        da.Fill(dt)
        Dim dtp As New DataTable()
        dtp.Columns.AddRange(New DataColumn(5) {New 
        DataColumn("Id",GetType(Integer)), 
        New DataColumn("Pcode", GetType(String)), 
        New DataColumn("Pname", GetType(String)), 
        New DataColumn("MRP", GetType(Decimal)), 
        New DataColumn("DP", GetType(Decimal)), 
        New DataColumn("Imgname", GetType(String))})
        For i = 0 To (foundRows.Count - 1)
            dtp.Rows.Add(foundRows(i)("Id"), foundRows(i)("Pcode"), 
            foundRows(i)("Pname"), foundRows(i)("MRP"), foundRows(i) 
            ("DP"), foundRows(i)("Imgname"))
        Next
        Session("dtp") = dtp
        DatListProduct.DataSource = dtp
        DatListProduct.DataBind()
    End Sub

    Protected Sub DatListProduct_ItemDataBound(sender As Object, e As 
    DataListItemEventArgs)
        Dim dtp As New DataTable()
        dtp.Columns.AddRange(New DataColumn(5) {New DataColumn("Id", 
        GetType(Integer)), New DataColumn("Pcode", GetType(String)), New 
        DataColumn("Pname", GetType(String)), New DataColumn("MRP", 
        GetType(Decimal)), New DataColumn("DP", GetType(Decimal)), New 
        DataColumn("Imgname", GetType(String))})
        dtp = Session("dtp")
        If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = 
        ListItemType.AlternatingItem Then
              Dim Pcode As String = 
              (TryCast(e.Item.FindControl("lblProdPcode"), Label)).Text
              Dim InnerRepeaterCourseResults As Repeater = 
              TryCast(e.Item.FindControl("InnerRepeaterCourseResults"), 
              Repeater)
              InnerRepeaterCourseResults.DataSource = dtp.[Select]("Pcode=" & 
              Pcode & "").CopyToDataTable()
              InnerRepeaterCourseResults.DataBind()
       End If
    End Sub
...