Är fortfarande tomt... :(
Repeater eller liknande...
24 svar · 565 visningar · startad av Eminem · sida 2 av 2
Frågan, av Eminem
Tjena mors! Är en nybörjare på .NET, men har jobbat med ASP innan. Har följande kod som jag skall ha i ett forum. <!-- Post 1 --> <tr> <td bgcolor="#9da87d"> <table cellspacing="0" cellpadding="1" width="600" border="0"> <tr> <td><img src="/data/img/1px.gif" width="1" height="1" border="0" alt=""></td> </tr> <tr> <td width="5"><img src="/data/img/1
Läs frågan i sin helhet →Hm, kan inte hitta något fel nu... om vi gör på enklast möjliga sätt, fungerar det här om du skriver det i pageloaden:
string s = "Provider=Microsoft.Jet.OleDB.4.0; Data Source=" + Server.MapPath("/data/db/forum.mdb");
OleDbConnection conn = new OleDbConnection(s);
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM threads", conn);
DataTable dt = new DataTable();
da.Fill(dt);
myDG.DataSource = dt;
myDG.DataBind();
Det fungerade inte det heller... Men när jag skapade en ny sida och la in den koden så fungerade det kanon. Alltså så är det något litet som står fel någonstans.
En ny fråga dök upp dock. Jag hämtar ju användaren ifrån en annan tabell med hjälp av användar_id i tabellen threads. Hur gör man då?
I vanlig ASP så hade jag bara kört en ny SQL i loopen, men här finns det ju ingen loop utan en repeater...
Jaa, nu ser jag vad det var för fel... du startar aldrig pageloaden, då är det lite svårt exekvera kod där. :)
private void InitializeComponent()
{
[b]this.Load += new System.EventHandler(this.Page_Load);[/b]
}
En ny fråga dök upp dock. Jag hämtar ju användaren ifrån en annan tabell med hjälp av användar_id i tabellen threads. Hur gör man då?
Du kan plocka ut enskilda värden ur din datatable, exempelvis:
string s = dt.Rows[0]["minkolumn"].ToString();
...som hämtar värdet i första raden i kolumnen "minkolumn" och lägger detta i strängen s. Denna kan du sedan använda för att hämta data i din andra tabell. Men kanske kan du göra en join direkt i din första sql-sats så du hämtar data från båda kolumnerna direkt?
I vanlig ASP så hade jag bara kört en ny SQL i loopen, men här finns det ju ingen loop utan en repeater...
Jo, det körs en slags loop i en repeater (den har ett event som heter ItemDataBound som körs för varje item (rad) där du kan lägga kod) och du kan naturligtvis även loopa igenom din datatable. Så du har alla möjligheter att gå igenom värden både innan, under och efter att data binds till din kontroll!
