webForumDet fria alternativet

Skriva ut tabeller

.NET

25 svar · 720 visningar · startad av andreas_lindh · sida 2 av 2

Frågan, av andreas_lindh

Har en sida där jag ska skriva ut tabeller för hockeycuper. Antalet grupper kan vara från 1 och uppåt. Skriva ut en tabell är inga problem. Då skapar jag bara en datagrid Jag hämtar antalet tabeller i en databas. Någon som har en ide om hur jag kan göra när det är flera grupper?

Läs frågan i sin helhet →
Medlem sedan juni 20011 732 inlägg
#21

Det gör du redan! Genom att skriva Group='<% DataBinder.Eval(Container.DataItem, "Group")%>' så får den publika variabeln _group i klassen dess värde som du ju sedan använder för att sätta den privata variabeln group... som du i sin tur använder för att plocka ut rätt grupp från din db. För varje gång din pagelet loopas kommer den alltså att hämta den grupp som skrivs ut på den aktuella raden i din Datalist. På så sätt har du "dubbla" möjligheter att styra din presentation, dels en template för varje grupp och sedan gruppen i sig själv via din datagrid. Hänger du med?

Medlem sedan jan. 20011 140 inlägg
#22

ok. Jag hänger med men får det inte att fungera.
Inga felmeddelanden men ingenting skrivs ut.

Medlem sedan juni 20011 732 inlägg
#23

Fungerar sidorna var för sig? Skriv ut variabeln som du skickar in i pageleten. Du måste också registrera din pagelet, har du gjort det? Exempelvis:

<%@ Register TagPrefix="uc1" TagName="Group" Src="Group.ascx" %>
Medlem sedan jan. 20011 140 inlägg
#24

Ja jag har registrerat pageleten.
visar lite kod. kanske har missat något
pageleten

<%@ Control Language="vb" %>
<%@ import namespace="system.data.oledb" %>
<%@ import namespace="system.configuration" %>
<%@ import namespace="system.data" %>
<script runat="server">
	dim objconn as new oledbconnection(ConfigurationSettings.AppSettings("connectionstring"))
	public cup_id as integer = "35"
	private grupp as string = ""
	public property _grupp as string		
		get
			grupp=grupp
		end get		
		Set 
			grupp = Value
		end Set
	end property
	
	
	
	sub page_load(obj as object, e as eventargs)
					'hämta tabellen
					dim objcmd as new oledbdataadapter _
						("select deltagande_lag.namn, tabeller.* from tabeller inner join deltagande_lag on tabeller.lag_id = deltagande_lag.id where tabeller.grupp_id = " & grupp &" order by tabeller.poang desc,tabeller.plusminus desc,tabeller.plus desc,tabeller.win desc,tabeller.lost asc", objconn)
					             
					dim ds as dataset =new dataset()
					objcmd.fill(ds, "tabeller")
					
					datagrid1.datasource =ds.tables("tabeller"). _
					defaultview
						
					databind()
	end sub
</script>

aspx sidan

<script runat="server">
	dim objconn as new oledbconnection(ConfigurationSettings.AppSettings("connectionstring"))
	sub page_load(obj as object, e as eventargs)
			dim cup_id as integer = "35"
			Dim strSQL as String= String.Format("select * from grupper where cup_id={0}", cup_id)
			dim objcmd as new oledbdataadapter(strsql, objconn)
			
			dim ds1 as dataset =new dataset()
			objcmd.fill(ds1, "grupper")
					
			datalist.datasource =ds1.tables("grupper"). _
			defaultview
						
			databind()	
		
	end sub
</script>

<asp:repeater id="datalist" runat="server">
				<itemtemplate>
					<asp:label id="GroupTopicL" text='<%# DataBinder.Eval(Container.DataItem, "namn")%>' runat="server" />
					<hr>
					<mypl:grouppl grupp='<% DataBinder.Eval(Container.DataItem, "Id")%>' runat="server" />  
				</itemtemplate>
			</asp:repeater>
Medlem sedan juni 20011 732 inlägg
#25

Du publika variabel heter "_grupp" - det är den du ska skicka in i din pagelet.

<mypl:grouppl _grupp='<% DataBinder.Eval(Container.DataItem, "Id")%>' runat="server" />
Medlem sedan jan. 20011 140 inlägg
#26

Tack för all hjälp. Nu fungerar det perfekt.
Upptäckte att visual studio hade lagt till lite kod som gjorde att det inte fungerade

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)