11. januar 2006 - 20:17Der er
12 kommentarer og 1 løsning
Modpart til Random.
Hej.
Jeg sidder og skal hente noget data fra en excel-fil. Når jeg har fået fat i data fra filen, så vil jeg godt skrive hver linie ind i hver sin textbox. Jeg ved at der på Random findes en 'funktion'?? der hedder Next, men da jeg ikke skal bruge Random, men hver linie efter hinanden, findes der så en modpart til Random, som også har Next??
(Ja, jeg er lige begyndt at programmere i C#, så jeg har ikke helt styr på termerne endnu... håber I kan bære over med mig! :O)
Uhhh, jeg glemte at skrive at mine data er lagt i et dataset, og jeg derfra vil trække hver enkelt linie ud en ad gangen.... Kan jeg så stadig bruge en iteration???
Det gør det bare endnu lettere, jeg vidste ikke lige hvordan du havde fat i de data..
Her er et eksempel til asp.net..
int i = 0; // opretter en tæller foreach ( DataTable table in ditDataSet.Tables ) // for hver datatabel i datasettet { foreach ( DataRow row in table.Rows ) // for hver datarække i datatabellen { Response.Write("Raekke: " + i + " = " row ["RaekkeNavn"].ToString() ); // udskriv rækken.. erstat Rækkenavn med columbname.. eller index ex row[0].ToString() hvis den er ukendt i++; } }
Det er dog ikke testet, men er sikker på du fanger ideen..
Undskyld, jeg skriver lige igen. Mht. det sidste med at skrive ind i en textbox.... Der er 2 kolonner i mit datasæt, jeg trækker ud, og for hver række, skal hver kolonne skrives i hver sin textbox.... (Giver nok ikke mening, det jeg lige skrev...?) Altså, jeg har en kolonne der indeholder navne på film, og en kolonne, der indeholder pris på hver film. Så får jeg første linie, så skal navnet på filmen skrives i en textbox, og prisen skal skrives i en anden!!! Hvordan gør man det???
Opret lige et nyt projekt og smid følgende kode der ind i din CS fil.. erstat den page_load der allerede ligger der.
OBS! koden er langt fra den mest fornuftige, mht til at oprette et DataSet, men du har jo allerede et dataset, så har bare lavet det der er lettest at forstå.
protected void Page_Load(object sender, EventArgs e) { DataSet ds = new DataSet(); //opretter et dataset DataTable dt = new DataTable(); //opretter et datatable
dt.Columns.Add("Film"); //opretter en kolonne i tabellen dt.Columns.Add("Pris"); //opretter en kolonne i tabellen
DataRow dr = dt.NewRow(); //opretter en række i tabellen DataRow dr2 = dt.NewRow(); //opretter en række i tabellen
dr[0] = "En film"; //tildeler første række, kolonne 1 en værdi dr[1] = "150kr"; //tildeler første række, kolonne 2 en værdi
dt.Rows.Add(dr); // tilføjer rækken i tabellen
//opretter en til dr2[0] = "En anden film"; dr2[1] = "190kr";
dt.Rows.Add(dr2);
// ligger tabellen i datasettet. ds.Tables.Add(dt);
//her kommer det vigtige.. // i min aspx fil har jeg oprettet følgende: // <asp:DataGrid runat="server" ID="grid"></asp:DataGrid> // Denne sætter jeg nu en datakilde på, så den ved hvor den skal trække dataen fra, datakilden kan være forskellige ting //men i dit tilfælde, og dette en datasource - Som jeg tidligere har lavet grid.DataSource = ds; // asp:datagriddet kender nu datakilden, men mangler at få bundet dataen til det. grid.DataBind(); }
Den skal bare placeres inde i dit <form runat="server"> tag.
Sig til hvis det driller..
Håber det kan give dig en fornemmelse af hvad meningen er, forsøg selv at tilføje et par rækker.. her efter erstatter du bare "ds" altså mit dataset, med dit dataset, og så vil en lang række blive vist i dit projekt..
Ups.... jeg har vist glemt at fortælle at jeg ikke bruger noget asp, da det er en win-form, jeg skal lave..... Så kan jeg vel ikke bruge ovenstående, kan jeg!??? (Det er en eksamensopgave, og der er vi blevet bedt om at lave det i en win-form.... :o( )
beklager.. der kan jeg ikke hjælpe.. kender kun lige til asp.net har aldrig arbejdet med winforms..
Men lig et svar i den her tråd.. accepter det selv, og opret en ny tråd...
(så folk lige får opmærksomhed på det)
Henvis til den her opgave, skriv du skal have bundet et dataset til en controller til at vise data i en winform.. så er der hurtigt nogen der kan hjælpe..
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.