Avatar billede haz Nybegynder
02. juni 2007 - 23:09 Der er 21 kommentarer og
1 løsning

data fra flere tabeller i gridview

jeg har en link i et gridview hvor linket skal indeholde 2 variabler
desværre er det kun texten og den ene variable der ligger i det databind tabel , den sidste skal hentes fra en anden tabel med den første variabel som søgeord.
Avatar billede dr_chaos Nybegynder
03. juni 2007 - 08:23 #1
Kan du ikke bare bygge din sql op til at hente begge dele ?
Avatar billede haz Nybegynder
03. juni 2007 - 08:58 #2
det tror jeg ikke da dataene desværre ikke er 1:1 , men vil se på om det er muligt
Avatar billede dr_chaos Nybegynder
03. juni 2007 - 09:23 #3
prøv lige at vise mig din tabel struktur.
Er det lavet i sql server eller lignende ?
Avatar billede haz Nybegynder
03. juni 2007 - 15:24 #4
ja

tabel1
      hgr_id      tinyint(3)      nøgle
*    ugr_id      mediumint(8)    nøgle
    txt      varchar(30)          
tabel2

*      hgr_id  tinyint(3)  nøgle   
*    txt      varchar(30)      
    pos      tinyint(3)
Avatar billede dr_chaos Nybegynder
03. juni 2007 - 16:57 #5
er det txt feltet du skal søge i ?
hvis ja kan du bruge noget i denne stil
SELECT * FROM tabel1 t1
JOIN Tabel2 t2 ON t1.hgr_id =t2.hgr_id AND  t2.txt LIKE '%'+'hej'+ '%'
Avatar billede haz Nybegynder
04. juni 2007 - 04:25 #6
nej ville have en celle pr. uniq hgr_id sorteret efter pos med de første 3 ugr_id som passer som variabler i hver sin link.


men jeg har lige opdaget at jeg ikke kan have links med variabler i en templatefield
så det går vist ikke alligevel.
Avatar billede dr_chaos Nybegynder
05. juni 2007 - 09:10 #7
Hvad er det for variabler du vil have med og hvordan ser dine sql sætninger ud ?
Avatar billede haz Nybegynder
05. juni 2007 - 10:06 #8
min ide var at lave et link som overskrift(tabel2.txt)med tabel2.hgr_id som linkvariabel
med tre første links nedenunder med teksten(tabel1.txt) og med tabel2.hgr_id og tabel1.ugr_id som linkvariabel

gir det mening ?
Avatar billede dr_chaos Nybegynder
05. juni 2007 - 10:17 #9
hvad mener du med linkvariabel ?
Jeg tror du skal udpensle det lidt mere for mig :)
Avatar billede haz Nybegynder
05. juni 2007 - 10:23 #10
Avatar billede dr_chaos Nybegynder
05. juni 2007 - 10:36 #11
det kan du sagtens sende via et link du skal bare tilpasse din navigateurl i templatefield
Avatar billede dr_chaos Nybegynder
05. juni 2007 - 10:38 #12
paste lige koden til dit template field.

Det lyder lidt som om du skal lave et templatefield med en repeater i.
Avatar billede dr_chaos Nybegynder
05. juni 2007 - 10:38 #13
på den måde kan du få dine ugr_id'er ud.
Avatar billede haz Nybegynder
06. juni 2007 - 03:21 #14
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" Text='<%# Eval("tabel2.txt")%>' runat="Server" NavigateUrlNavigateUrl=page2?h_id='<%# Eval("tabel2.hgr_id")%>' />
<br/>
</ItemTemplate>
</asp:TemplateField>


<asp:HyperLink id="HyperLink1" Text='<%# Eval("tabel1.txt")%>' runat="Server" NavigateUrlNavigateUrl=page2?h_id='<%# Eval("tabel2.hgr_id")%>'&u_id=='<%# Eval("tabel2.hgr_id")%>'& />
Avatar billede dr_chaos Nybegynder
06. juni 2007 - 19:39 #15
Noget i denne stil måske ?

<asp:HyperLink id="HyperLink1" Text='<%# Eval("tabel1.txt")%>' runat="Server" NavigateUrlNavigateUrl='<%# "page2?h_id="+Eval("tabel2.hgr_id")+"&u_id=="+ Eval("tabel2.hgr_id"%>' />
Avatar billede haz Nybegynder
07. juni 2007 - 03:04 #16
jeg er kommet frem til det må være noget lign.

<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink id="HyperLink1" Text='<%# Eval("tabel2.txt")%>' runat="Server" NavigateUrlNavigateUrl=page1?h_id='<%# Eval("tabel2.hgr_id")%>' />
<br/>
<asp:HyperLink id="HyperLink2" Text='<%# Eval("tabel1.txt")%>' runat="Server" NavigateUrlNavigateUrl='<%# "page2?h_id="+Eval("tabel2.hgr_id")+"&u_id=="+ Eval("tabel1.ugr_id"%>' />

og så en repeater med hyperlink2 indeni

men hvis jeg gør det sådan må jeg sørge for at repeateren ikke kører mere en fx 3 gange og det må vel gøres i sql ? men kan man det, min sql sætning ser ud som følger

SELECT t2.txt,t2.hgr_id,t2.pos,t1.ugr_id,t1.txt FROM tabel2 t2 , tabel1 t1 ORDER BY pos";
Avatar billede dr_chaos Nybegynder
09. juni 2007 - 15:52 #17
SELECT top 3 t2.txt,t2.hgr_id,t2.pos,t1.ugr_id,t1.txt FROM tabel2 t2 , tabel1 t1 ORDER BY pos";

måske
Avatar billede haz Nybegynder
10. juni 2007 - 00:03 #18
den kommando kendte jeg ikke , men i dit tilfælle viser den bare 3 coloums ialt.

nu ved jeg ikke om man kan bruge top kommandoen på denne måde men prøver at gøre følgende GROUP BY tabel1.hgr_id,tabel1.ugr_id HAVING TOP 3 tabel1.hgr_id.
Avatar billede dr_chaos Nybegynder
10. juni 2007 - 15:47 #19
Tror jeg ikke du kan.
Hent al data ud og smid det i en datatable også select top 3 på datatable i ondatabinding eventet på din repeater.
Avatar billede haz Nybegynder
11. juni 2007 - 04:32 #20
jeg har nu et dataset med de ønskede data men jeg syntes ikke jeg kan få en repeater
til at virke inde i mit gridview og vise de 3 tabel1.txt som har samme tabel1.hgr_id
Avatar billede haz Nybegynder
13. juni 2007 - 03:21 #21
det er vist tid til at du smider et svar og får lidt point for dit arbejde
Avatar billede dr_chaos Nybegynder
13. juni 2007 - 15:43 #22
svar :)

Hvordan henter du data fra din datatable ?
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