webForumDet fria alternativet

Visa sökresultat i datareader

.NETur .NET

3 svar · 248 visningar · startad av Moosarella

Medlem sedan okt. 20051 inlägg
Frågan#1

Har ett problem med att visa data från en databas på det sätt jag vill. Har sökt på nätet i flera dagar (kanske är kass på att söka, men ändå) så, snälla, ge mig inte bara en länk utan en liten förklaring också ty min hjärna börjar bli utsliten nu av allt tänkande. =( Jag ska försöka så tydligt jag kan, men som sagt, jag är lite borta i bäret nu så...

Jag har en databas med ett större antal tabeller och vill göra en sökfunktion till dessa. Ibland ska en uppsättning rubriker visas, ibland en annan. Vad som ska sökas på skickas från olika textboxar eller checkboxar till code behind med sessioner till en annan sida och så bygger jag upp en SQL-sträng som plockar ut det jag vill ha och anropar databasen.

Om jag använder en datagrid fungerar det bra, griden ritar själv ut alla fällt (och bara dessa) som jag frågar efter i min SQL-sträng. Men det blir inte i en lista som jag vill ha, utan i en "ful" tabell!

Om jag använder en repeater så fattar jag inte hur jag ska kunna få "dynamiska" rubriker. Dvs, hur kan jag få "Namn", "Län" och "Kommun" att bli till "Namn", "Yrke" och "Blabla" beorende på vilka saker som skickas med i SQL-strängen.

<asp:Repeater id="Repeater" runat="server">
<ItemTemplate>
<%#Container.DataItem("Namn") %> <br>
<%#Container.DataItem("Län") %>
<%#Container.DataItem("Kommun") %><br><br>
</ItemTemplate>
</asp:Repeater>

Så frågan är:
Kan man tvinga datagriden att rita upp en lista istället för en tabell? Alternativt, hur kan jag ange rubriker utifrån sökkriterierna istället för med hjälp av "förinskrivningar" i aspx-filen?

Medlem sedan juli 20041 183 inlägg
#2

Nu är jag nybörjare på det här med ASP.Net men det skadar ju inte att försöka...

Om det inte finns så många alternativ så kanske man kan använda två olika "Repeaters"??

<asp:Repeater id="Lokalisering" runat="server">
	<HeaderTemplate>
		Namn...Län...Kommun
	</HeaderTemplate>
	<ItemTemplate>
		<%#Container.DataItem("Namn") %> <br>
		<%#Container.DataItem("Län") %>
		<%#Container.DataItem("Kommun") %><br><br>
	</ItemTemplate>
</asp:Repeater>

<asp:Repeater id="Yrke" runat="server">
	<HeaderTemplate>
		Namn...Yrke...BlaBla
	</HeaderTemplate>
	<ItemTemplate>
		<%#Container.DataItem("Namn") %> <br>
		<%#Container.DataItem("Yrke") %>
		<%#Container.DataItem("BlaBla") %><br><br>
	</ItemTemplate>
</asp:Repeater>

Sen skriver du till olika Repeaters beroende på vad användaren söker på...

Kan det vara något? En lite väl ful-lösning kanske då jag antar att du hellre skulle vilja ändra rubriken i <HeaderTemplate> dynamiskt efter vad användaren söker på... Jag kan dock inte heller få detta att fungera...

Medlem sedan juli 20011 084 inlägg
#3

Gör din egen repeater så får du det som du vill ;) (kan tyvärr inte ge dig så mycket djupare information om hur, eftersom jag själv håller på och lär mig det just nu :e)

Det går väl dock att ta bort tabellerna på en datagriden med repeatLayout="flow", eller det kanske bara går på en datalist.

Medlem sedan juli 20041 183 inlägg
#4

ja det går ju också, kanske lite smartare lösning ändå... :P

138 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)