Avatar billede cpmonster Nybegynder
19. marts 2004 - 18:12 Der er 7 kommentarer og
1 løsning

Kombiner 2 Tables ind i SAMME Datagrid

Jeg har 2 tabeller i samme Dataset.

Den ene fra en Webservice, den anden fra et Database kald.
De har begge et fælles ID (Class_ID)

-Jeg laver en Datarelation mellem de to tabeller:

parentCol = ds.Tables("portfolio").Columns("Class_ID")
childCol = ds.Tables("dataTemp").Columns("Class_ID")
relClass_ID = New DataRelation("Classes", parentCol, childCol)

-Og tilføjer den til mit Dataset:
ds.Relations.Add(relClass_ID)

-Derefter databind:
dgFunds.DataSource = ds.Tables(0)
dgFunds.DataBind()

Nu kunne det jo være interesant at se datapunkter fra BEGGE dataset i SAMME dataGrid med kommandoen:

<ItemTemplate>
          <%# Container.DataItem(4) %>
</ItemTemplate>

Men jeg kan ikke se noget som helst fra child-dataset'et nogen steder. og jeg prøver at indsætte højere end '4' ovenfor, selvfølgelig :)

er der ikke noget:
    <%# ChildContainer.DataItem(4) %>

(Jeg har selv fundet på at tilføje Child)

det er fint med løsninger i C#
Avatar billede somaliomar Praktikant
20. marts 2004 - 09:14 #1
Hvordan ser C#-koden ud?
Avatar billede cpmonster Nybegynder
22. marts 2004 - 09:50 #2
Hvem spørger du?
Avatar billede somaliomar Praktikant
22. marts 2004 - 09:54 #3
Dig cpmonster! Du skriver "det er fint med løsninger i C#". Hvordan ser løsningen ud i C#?
Avatar billede cpmonster Nybegynder
22. marts 2004 - 11:16 #4
Jeg tror jeg misforstår dig, for Jeg har da ikke løsnigen i C#. Ellers ville jeg da ikke spørge i VB.NET forummet??

Det jeg siger, implicit: Det gør ikke noget de kommer med et svar i C#, da dette ikke er noget problem at konvertere til VB.
Avatar billede cpmonster Nybegynder
22. marts 2004 - 12:37 #5
Nå. Indtil videre opretter jeg bare en ny table og fletter de to tables sammen i den nye table ved brug af Childrelations. Jeg havde dog håbet på at jeg kunne komme uden om dobbelt løkken.

men så langt havde Microsoft måske ikke tænkt.

                For Each dr In ds.Tables("portfolio").Rows
                    dr_new = tPortfolio.NewRow

                    dr_new("class_ID") = dr("Class_ID")

                    For Each dr_temp In dr.GetChildRows("classes")
                        dr_new("Fondsnavn") = dr_temp("fundname")
                    Next
                    tPortfolio.Rows.Add(dr_new)
                Next

Så har jeg en ny table som jeg bare binder til mit datagrid. PRoblem løst, men ikke tilfredsstillende synes jeg.

Det lader til de har lavet dette childrelation, hvilket er genialt, men ikke lavet noget smart til at kombinere child-parent relationer i samme datagrid.

Dog så jeg en løsning med et Typed dataset som egentlig var meget god.
http://searchwebservices.techtarget.com/tip/1,289483,sid26_gci824493,00.html
Avatar billede cpmonster Nybegynder
22. marts 2004 - 12:39 #6
Men jeg tror ikke den her hurtigere end at oprette den nye table en gang for alle og bare rode rundt i den. Ved den nye tabel får jeg også fordele ang. sortering osv.
Avatar billede somaliomar Praktikant
22. marts 2004 - 18:24 #7
Ah.. Jeg har vist misforstået dig. Jeg troede nemlig at du havde noget C#-kode der virkede og at du ville have C#-koden til at virke i VB.NET.

Har du kigget på det her eksempel:
http://www.dotnetbips.com/displayarticle.aspx?id=198
Avatar billede cpmonster Nybegynder
23. september 2004 - 13:29 #8
hmm.. tjo lad mig se..
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
Kurser inden for grundlæggende programmering

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