Avatar billede hyperactive Nybegynder
23. august 2003 - 13:40 Der er 1 kommentar og
1 løsning

Nested repeater

Jeg har et problem med en repeater, som skal vise ordrer og ordrelinier for hver ordre... Problemet er at alle ordrelinier i databasen vises under hver ordre og altså ikke kun under den ordre, de faktisk hører til... Her er lidt kode:

    <asp:repeater id="repOrders" runat="server">
                                                <ItemTemplate>
                                                    <tr>
                                                        <td width="70">
                                                            <asp:Label ID="lblOrderId" Text='<%# DataBinder.Eval(Container.DataItem, "OrderId")%>' Runat=server />
                                                        </td>
                                                        <td>
                                                            <a href='Customers.aspx?CustomerId=<%# DataBinder.Eval(Container.DataItem, "CustomerId")%>' class="txtlink">
                                                                <asp:Label ID="lblProductName" Text='<%# DataBinder.Eval(Container.DataItem, "ShipTo")%>' Runat=server /></a>
                                                        </td>
                                                        <td width="20">
                                                            <a href='DeleteProduct.aspx?ProductId=<%# DataBinder.Eval(Container.DataItem, "OrderId")%>'>
                                                                <img src="graphics/delete.gif" border="0" alt="Slet produkt"></a>
                                                        </td>
                                                        <td width="20">
                                                            <a href='EditProduct.aspx?ProductId=<%# DataBinder.Eval(Container.DataItem, "OrderId")%>'>
                                                                <img src="graphics/edit.gif" border="0" alt="Rediger produkt"></a>
                                                        </td>
                                                    </tr>
                                                        <asp:Repeater ID="repItems" runat="server">
                                                            <ItemTemplate>
                                                                <tr>
                                                                    <td width="70">
                                                                        <asp:Label ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem, "OrderItemId")%>' Runat=server />
                                                                    </td>
                                                                <td>
                                                                <a href='Customers.aspx?CustomerId=<%# DataBinder.Eval(Container.DataItem, "OrderItemId")%>' class="txtlink">
                                                                <asp:Label ID="Label2" Text='<%# DataBinder.Eval(Container.DataItem, "OrderItemId")%>' Runat=server /></a>
                                                        </td>
                                                        <td width="20">
                                                            <a href='DeleteProduct.aspx?ProductId=<%# DataBinder.Eval(Container.DataItem, "OrderItemId")%>'>
                                                                <img src="graphics/delete.gif" border="0" alt="Slet produkt"></a>
                                                        </td>
                                                        <td width="20">
                                                            <a href='EditProduct.aspx?ProductId=<%# DataBinder.Eval(Container.DataItem, "OrderItemId")%>'>
                                                                <img src="graphics/edit.gif" border="0" alt="Rediger produkt"></a>
                                                        </td>
                                                    </tr>       
                                                    </ItemTemplate>                   
                                                    </asp:Repeater>
                                                   
                                                </ItemTemplate>
                                            </asp:repeater>
Avatar billede hyperactive Nybegynder
23. august 2003 - 13:41 #1
Imports System.Data
Imports System.Data.SqlClient
Imports shopAdmin.DataAccess

Public Class Orders
    Inherits System.Web.UI.Page
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents tbOrderId As System.Web.UI.WebControls.TextBox
    Protected WithEvents repOrders As System.Web.UI.WebControls.Repeater
    Protected WithEvents repItems As System.Web.UI.WebControls.Repeater
    Protected WithEvents lblOrderId As System.Web.UI.WebControls.Label
    Protected WithEvents ddlOrderStatus As System.Web.UI.WebControls.DropDownList
    Dim intOrderId As Integer
    Dim intOrderStatus As Integer


#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not Page.IsPostBack Then
            Get_StatusCodes(-1)
        End If
        If tbOrderId.Text = "" Then
            intOrderId = -1
        Else
            intOrderId = CInt(tbOrderId.Text)
        End If
        If ddlOrderStatus.SelectedItem.Value = "Alle" Then
            intOrderStatus = -1
        Else
            intOrderStatus = CInt(ddlOrderStatus.SelectedItem.Value)
        End If
        BindData()

    End Sub

    Private Sub BindData()
        repOrders.DataSource = Get_Orders(intOrderStatus, intOrderId).Tables("Orders")
        repOrders.DataBind()
    End Sub

    Private Function Get_Orders(ByVal OrderStatus As Integer, ByVal OrderId As Integer) As DataSet
        Dim DbConnect As New DataAccess.objDataAccess()
        Dim dsOrderItems As New DataSet()
        Dim dsOrders As New DataSet()
        dsOrders = DbConnect.RunSPReturnDS("Select_Orders", "Orders", New SqlParameter("@OrderStatus", OrderStatus), New SqlParameter("@OrderId", OrderId))
        dsOrderItems = DbConnect.RunSPReturnDS("Select_OrderItems", "OrderItems", New SqlParameter("@OrderStatus", OrderStatus), New SqlParameter("@OrderId", OrderId))
        dsOrders.Merge(dsOrderItems)
        dsOrders.Relations.Add("OrderRelation", dsOrders.Tables("Orders").Columns("OrderId"), dsOrders.Tables("orderItems").Columns("OrderId"))
        Get_Orders = dsOrders
    End Function

    Private Sub Get_StatusCodes(ByVal StatusCode)
        Dim DbConnect As New DataAccess.objDataAccess()
        Dim ds As New DataSet()
        ds = DbConnect.RunSPReturnDS("Select_StatusCodes", "OrderStatusCodes", New SqlParameter("@StatusCode", StatusCode))
        ddlOrderStatus.DataSource = ds
        ddlOrderStatus.DataTextField = "Description"
        ddlOrderStatus.DataValueField = "StatusCode"
        ddlOrderStatus.DataBind()
        ddlOrderStatus.Items.Insert(0, "Alle")
        ddlOrderStatus.SelectedIndex = 0
    End Sub

    Private Sub repOrders_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles repOrders.ItemDataBound
        'her
        Dim repOrderItems As New Repeater()
        repOrderItems = CType(e.Item.FindControl("repItems"), Repeater)

        repOrderItems.DataSource = Get_Orders(intOrderStatus, intOrderId).Tables("OrderItems")
        repOrderItems.DataBind()

        'orderLinesRepeater.DataSource = dsOrders
        'BindData()
    End Sub
End Class
Avatar billede hyperactive Nybegynder
23. august 2003 - 19:23 #2
Fandt en løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester