Jag skulle vilja ha lite ideér hur jag ska lösa detta på bästa sätt.
Jag ska loopa fram alla dagar i en kalender och har en tabell i en databas med datum och event. när jag listar ut alla dagar vill jag även lista ut om jag skrivit något för just den dagen.....ni fattar säkert :)
Jag tänkte att jag skulle köra ner allt i en array och sen kolla om datumet finns i den.
Är det ett bra sätt skulle jag hemskt gärna vilja se ett exempel på hur man fyller en array med data från en tabell, eller om nån har ett bättre sätt :)
ok...nu har jag sparat ner tabellen t_datum i ett dataset.
Men hur loopar jag igenom det, jag skulle gissa på en do while() slinga men jag vet inte riktigt hur :OO
Schyst om nån skulle vilja dela med sig sina kunskaper :)
Tjipp, råkade ha tråkigt så jag pulade om din kod lite så att den enligt mitt tycke blev mer logisk
for (int j=0; j<numrows; j++){
TableRow row = new TableRow();
TableCell cell = new TableCell();
Control control = new LiteralControl(" "); //låt detta vara behållaren för kontrollen vi ska lägga till
for(int i=0; i < myDs.Tables["datum"].Rows.Count - 1; i++) {
if(myDs.Tables["datum"].Rows[i]["datum_datum"].Equals(dteDay)) {
HtmlImage barImage = new HtmlImage();
barImage.Src = "/WebApplication1/images/bar.jpg";
barImage.Width = Convert.ToInt32(myDs.Tables["datum"].Rows[i]["datum_feel"]);
barImage.Height = 16;
Table barTable = new Table();
TableRow barRow = new TableRow();
TableCell barCell = new TableCell();
barCell.Controls.Add(barImage);
barRow.Cells.Add(barCell);
barTable.Rows.Add(barRow);
barTable.CellPadding = 0;
barTable.CellSpacing = 0;
control = barTable; //ändra innehållet i contriol till vår table
break; //vi har funnit den och kan sluta loopa
}
}
cell.Controls.Add(control); //addera kontrollen till huvud tabellen
cell.ApplyStyle(sLank);
row.Cells.Add(cell);
tSkala.Rows.Add(row);
dteDay = dteDay.AddDays(1);
tSkala.ApplyStyle(sBig);
}
Var lite för skojs skull bara :)
En sak till det känns som dina två loopar är lite onödiga, jag vet inte hur resten av din kod ser ut men det känns som om du ska bara behöva en for loop. Där du loopar igenom alla fält i din databas tabell och kopplar dessa till rätt kolumn i din huvud tabell (utseendet). Denna antar jag har en nyckel som är ett datum (eller ett datum minus ett annat..dvs 0 och uppåt till numrows). Så i din loop kollar du om datumet i tabellen minus ditt grunddatum hamnar inom talen för din utseende tabellen och så sätter du fint in värderna där.
Kanske lite snurrigt förklarat men vad räknar ni med 24.00 en fredag ;)
Grynet:
Tack för att du tog dig tid att göra koden lite mer logisk! :)
Jag är som sagt bara i början av min OOP karriär så att jag tänker säkert inte jättelogiskt ;)