Necrolite
Legacy Member
Hallo,
ik heb momenteel een probleem met een repeater in een repeater.
Ik heb talloze sites gezocht en de meeste geven dezelfde oplossing.
Werken met een relatie tussen de tabellen en dan in de 2de repeater datasource aanpassen.
De code voor mijn webpage is als volgt:
de bijhorende vb pagina
code in de class ticket
en de code in dataticket
De volgende errors geeft hij
Error 3 'DataRowView' is a type and cannot be used as an expression. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 16
Error 4 ')' expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 16
Error 5 Comma, ')', or a valid expression continuation expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17
Error 6 Comma, ')', or a valid expression continuation expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 63 C:\...\Schoolbond\
Error 7 'DataRowView' is a type and cannot be used as an expression. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 79 C:\...\Schoolbond\
Error 8 ')' expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 79 C:\...\Schoolbond\
op deze lijnen slaagt da dus.
Dat nested repeater gedoe is maar raar. Kan zijn dat mijn relatie ofzo fout is, maar dan zou hij daar moeten op crashen,hij wilt het zelfs precies ni beginnen lezen.
Iemand die hier ervaring mee heeft?
ik heb momenteel een probleem met een repeater in een repeater.
Ik heb talloze sites gezocht en de meeste geven dezelfde oplossing.
Werken met een relatie tussen de tabellen en dan in de 2de repeater datasource aanpassen.
De code voor mijn webpage is als volgt:
Code:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="TicketDynamisch.aspx.vb" Inherits="TicketDynamisch" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater id="KlantGegevens" runat="server">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "Naam")%><br />
<%#DataBinder.Eval(Container.DataItem, "Voornaam")%><br />
<asp:Repeater Runat="server" ID="plaats" datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("plaatsrelatie") %>'>
<ItemTemplate><%# DataBinder.Eval(Container.DataItem, "[\"plaats_id\"]")%><br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
Code:
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Partial Class TicketDynamisch
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim oTicket As New Ticket
Dim voorstellingid As String
voorstellingid = Request.QueryString("voorstelling_id")
KlantGegevens.DataSource = oTicket.AlleTicketsKlant(voorstellingid)
KlantGegevens.DataBind()
End Sub
End Class
Code:
Public Function AlleTicketsKlant(ByVal voorstellingid As Integer)
Dim db As New dataTicket
Dim oDataSet As New DataSet
oDataSet = db.AlleTicketen(voorstellingid)
Return oDataSet
en de code in dataticket
Code:
Public Function AlleTicketen(ByVal voorstellingid As Integer)
Dim dbConn As New DataClass()
sqlConn = dbConn.geefConnection
sqlConn.Open()
oDataset = New DataSet()
Dim sSQL As String = "select distinct b.naam, b.voornaam, b.klantnummer,g.titel, a.prijs_betaald, a.order_id from orders a inner join reservatie e on a.order_id = e.order_id INNER join Klant b on a.klant_id = b.klant_id left join korting d on e.korting_id = d.korting_id left join voorstelling f on e.voorstelling_id = f.voorstelling_id left join Productie g on f.productie_id = g.productie_id where f.voorstelling_id =" & voorstellingid & ";"
Dim oDataAdapter As New SqlDataAdapter(sSQL, sqlConn)
oDataAdapter.Fill(oDataset, "Klant")
Dim ssSQL As String = "select plaats_id, order_id, voorstelling_id from reservatie;"
oDataAdapter.Fill(oDataset, "Plaats")
sqlConn.Close()
oDataset.Relations.Add("plaatsrelatie", oDataset.Tables("Klant").Columns("voorstelling_id"), oDataset.Tables("Plaats").Columns("voorstelling_id"))
Return oDataset
End Function
De volgende errors geeft hij
Error 3 'DataRowView' is a type and cannot be used as an expression. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 16
Error 4 ')' expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 16
Error 5 Comma, ')', or a valid expression continuation expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17
Error 6 Comma, ')', or a valid expression continuation expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 63 C:\...\Schoolbond\
Error 7 'DataRowView' is a type and cannot be used as an expression. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 79 C:\...\Schoolbond\
Error 8 ')' expected. C:\Documents and Settings\Lander\Mijn documenten\Visual Studio 2005\WebSites\Schoolbond\TicketDynamisch.aspx 17 79 C:\...\Schoolbond\
Code:
<asp:Repeater Runat="server" ID="plaats" datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("plaatsrelatie") %>'>
<ItemTemplate><%# DataBinder.Eval(Container.DataItem, "[\"plaats_id\"]")%><br />
</ItemTemplate>
op deze lijnen slaagt da dus.
Dat nested repeater gedoe is maar raar. Kan zijn dat mijn relatie ofzo fout is, maar dan zou hij daar moeten op crashen,hij wilt het zelfs precies ni beginnen lezen.
Iemand die hier ervaring mee heeft?