02. august 2007 - 14:29
Der er
16 kommentarer og 1 løsning
c#.net indsæt række i binded dropdownlist
Hej Eksperter, Jeg har en dropdownlist der henter data fra en database. Jeg vil imidlertid gerne indsætte en række øverst i dropdownlisten hvor der står "vælg" og som har værdien 0, Hvordan kan jeg gøre det i code behind? Når jeg har følgende: ... ... DataSet ds = new DataSet(); oda.Fill(ds); DDL_navn.DataTextField = "Navn"; DDL_navn.DataValueField = "Navn"; DDL_navn.DataSource = ds; DDL_navn.DataBind();
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
02. august 2007 - 14:40
#1
før alt andet bliver kaldt tilføjer du den dropdown listen dropDownList.Items.Add("None"); dropDownList.SelectedIndex = 0;
02. august 2007 - 15:09
#2
"Vælg" kommer ikke noget i dropdownlisten, har prøvet at sætte det ind her: OdbcConnection conn = new OdbcConnection(connstr); string sql = "select distinct navn from table1"; OdbcDataAdapter oda = new OdbcDataAdapter(sql, conn); DataSet ds = new DataSet(); oda.Fill(ds); DDL_navn.Items.Add("Vælg person"); DDL_navn.SelectedIndex = 0; DDL_navn.DataTextField = "Navn"; DDL_navn.DataValueField = "Navn"; DDL_navn.DataSource = ds; DDL_navn.DataBind(); Skal det sættes ind endnu tidligere?
02. august 2007 - 15:20
#3
jeg tror det er fordi du overskriver den med din .DataSource = ds; :) så du kan evt. tilføje den i din DB og sørge for at når du trækker resultater ud med din SQL at den kommer først!
02. august 2007 - 15:32
#4
Jeg kan ikke tilføje i db'en (har ikke skrive adgang) derfor ville jeg tilføje den i koden. Kan man tilføje en række til dataset'et så efter den er blevet genereret?
02. august 2007 - 15:50
#5
kan du vel godt.. du skal oprette DataColumn, DataRow og kalde metoden DDL_navn.Tables[0].Rows.Add(DIN ROW); sådan ca. da... har ikke noget udviklingsværktøj fremme til at præcisere det
02. august 2007 - 16:00
#6
det forstår jeg ikke lige. Har oprettet et dataset, kan man ikke tilføje til det i stedet for dropdownlisten?
02. august 2007 - 16:08
#7
sorry.. "EN OMMER" kan du vel godt.. du skal oprette DataColumn, DataRow og kalde metoden ds.Tables[0].Rows.Add(DIN ROW); sådan ca. da... har ikke noget udviklingsværktøj fremme til at præcisere det
02. august 2007 - 16:21
#8
ahh sorry, er ikke lige med på hvordan jeg skal oprette en DataColumn og Datarow og derefter bruge dem i ds.Tables[0].Rows.Add(DIN ROW);
02. august 2007 - 16:41
#9
kan som sagt ikke teste:) OdbcConnection conn = new OdbcConnection(connstr); string sql = "select distinct navn from table1"; OdbcDataAdapter oda = new OdbcDataAdapter(sql, conn); DataSet ds = new DataSet(); oda.Fill(ds); DataRow row = new DataRow(); row.ItemArray.SetValue("None",0); row.ItemArray.SetValue("0",1); da.Tables[0].Rows[0].SetParentRow(row); DDL_navn.SelectedIndex = 0; DDL_navn.DataTextField = "Navn"; DDL_navn.DataValueField = "Navn"; DDL_navn.DataSource = ds; DDL_navn.DataBind();
02. august 2007 - 16:58
#10
okay på den måde :) Jeg får en fejl på DataRow row = new DataRow(); : No overload for method 'DataRow' takes '0' arguments
02. august 2007 - 17:28
#11
jeg må se på det lidt senere hvor jeg kan se mulighederne:)
02. august 2007 - 17:52
#12
ok, jeg ser frem til dit svar, har prøvet lidt andre forskellige muligheder også, hvor jeg oprettede en Datatabel istedet for et dataset, men der kom ikke nogen ekstra række i dropdownlisten
02. august 2007 - 18:27
#13
DataSet ds = new DataSet(); oda.Fill(ds); DataRow row = ds.Tables[0].NewRow(); row.ItemArray.SetValue("None", 0); row.ItemArray.SetValue("0", 1); ds.Tables[0].Rows.InsertAt(row, 0); DDL_navn.SelectedIndex = 0; DDL_navn.DataTextField = "Navn"; DDL_navn.DataValueField = "Navn"; DDL_navn.DataSource = ds; DDL_navn.DataBind(); det er ikke testet... det eneste som kan være "forkert" er selve rækken.. om den har fået kolonnerne korrekt:)
03. august 2007 - 16:37
#14
DDL_navn.Items.Clear(); DDL_navn.Items.Add(New ListItem("Vælg", "0")); DDL_navn.AppendDataBoundItems = true;
03. august 2007 - 16:37
#15
og dette skal være inden du databinder
01. oktober 2008 - 08:17
#16
Neoman og kalp kan I ikke smide et svar, så får i begge point (undskyld den sene tilbage melding, men har været på barsel og ikke kigget herinde)
05. oktober 2008 - 19:22
#17
:)
Kurser inden for grundlæggende programmering