Toon posts:

[asp.net] Hiërarchische DataGrid

Pagina: 1
Acties:

Verwijderd

Topicstarter
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.
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

Google
Inspiratie

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Zoals al aangegeven in de foutmelding, en ook gebruikt wordt in je inspiratie..

Er is geen datarelation gedefinieerd.

Digitaal onderwijsmateriaal, leermateriaal voor hbo