Wat ik wil is dat als je data hebt over een parrent je daar onder ook zijn child data kan laten zien.
Opzich was ik lekker bezig tot dat ik tegen deze error aan liep:
The relation is not parented to the table to which this DataView points.
Opzich erg duidelijk maar het feit is dat ik al een relatie had gemaakt die volgens mij klopte. Nu ben ik gelijk gaan zoeken op de error maar dat leeverde niks op.
Hier onder is mijn code, ik heb in de html presentatie wat dingen weggelaten maar die waren irrelevant. Moch iemand nog hiaten in mijn code zien dan mag dat gemaeld worden.
Google
Inspiratie
Opzich was ik lekker bezig tot dat ik tegen deze error aan liep:
The relation is not parented to the table to which this DataView points.
Opzich erg duidelijk maar het feit is dat ik al een relatie had gemaakt die volgens mij klopte. Nu ben ik gelijk gaan zoeken op de error maar dat leeverde niks op.
Hier onder is mijn code, ik heb in de html presentatie wat dingen weggelaten maar die waren irrelevant. Moch iemand nog hiaten in mijn code zien dan mag dat gemaeld worden.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| public void Page_Load(object sender, EventArgs e) { images.DataSource = getImagesUser().Tables["gebruikers"].DefaultView; images.DataBind(); if(!Page.IsPostBack) { } } public DataSet getImagesUser() { Connection c = new Connection("MySql"); DataSet ds = new DataSet(); DataTable t1_dt = new DataTable(); DataTable t2_dt = new DataTable(); t1_dt = c.ds_ProcesQuery("Select naam, id from gebruikers").Tables[0]; ds.Tables.Add(t1_dt.Copy()); ds.Tables[0].TableName = "gebruikers"; t2_dt = c.ds_ProcesQuery("Select name, user, omschrijving from plaatjes").Tables[0]; Response.Write("Waarde 1: "+t2_dt.Rows[1][0]); ds.Tables.Add(t2_dt.Copy()); ds.Tables[1].TableName = "plaatjes"; Response.Write("Waarde 2: "+ds.Tables[1].Rows[1][0]); DataColumn parent = ds.Tables["gebruikers"].Columns["id"]; DataColumn child = ds.Tables["plaatjes"].Columns["user"]; ds.Relations.Add(parent, child); return ds; } |
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <asp:DataGrid id="images" runat="server" AutoGenerateColumns="False" CellSpacing="0" CellPadding="0" Width="570px" ShowHeader="False" BorderColor="Red" OnItemDataBound="images_ItemDataBound"> <Columns> <asp:TemplateColumn> <ItemTemplate> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td bgcolor="#999966"> <b>Order No: <%# DataBinder.Eval(Container.DataItem, "naam") %> </b> </td> </tr> <tr> <td align="right"> <asp:DataGrid id="DataGrid2" runat="server" AutoGenerateColumns="False" BorderColor="#33FF33" DataKeyField="user" DataSource='<%# ((DataRowView)Container.DataItem).CreateChildView("plaatjes") %>'> <HeaderStyle font-bold="True" forecolor="#CC0066" backcolor="#CCCC99"></HeaderStyle> <Columns> ....blabla |
Inspiratie