Avatar billede -slap- Nybegynder
11. februar 2005 - 10:16 Der er 29 kommentarer og
1 løsning

Dropdownlist (.NET)

hvordan indsætter men data fra en database, eksempel vi skal hente ID'et som skal sættes til value i DropDownlisten, hvor den derefter udskriver "Program_navn"(En kolonne i vores tabel) som passer til ID 1 = Microsoft 2 = IBM osv osv osv
Avatar billede esbenbn Nybegynder
11. februar 2005 - 11:54 #1
Jeg går ud fra at du benytter en alm. combobox.

sæt datasource til den datatabel du vil hente data op fra.
sæt displaymember til kolonne 2 og valuemember til kolonne 1.

det skulle såmænd være det.
Mvh.
Esben
Avatar billede -slap- Nybegynder
11. februar 2005 - 12:22 #2
Du kan vel ikke give mig et eksempel ?
Avatar billede esbenbn Nybegynder
11. februar 2005 - 12:44 #3
du kan bruge følgende kode.
jeg har trukket customers tabellen ind fra northwind. herefter har jeg genereret et dataset "Dataset11"
   
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SqlDataAdapter1.Fill(DataSet11)
        With ComboBox1
            .DataSource = DataSet11.Customers()
            .DisplayMember = DataSet11.Customers.ContactNameColumn.ColumnName
            .ValueMember = DataSet11.Customers.CustomerIDColumn.ColumnName

        End With
    End Sub
jeg kan evt. sende dig et test projekt

Mvh.
Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 08:13 #4
ContactNameColumm og CustomerIDColumm, hvad er det ?
Avatar billede esbenbn Nybegynder
14. februar 2005 - 08:20 #5
Det er fordi jeg har brugt et typed dataset.

der kunne ligeså godt ha stået "ContactName" & "CustomerID".
det er de felter i din datasource du binder kontrollen til.

/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:00 #6
Sub Button1_Click(sender As Object, e As EventArgs)

        Dim connectionString As String = "server='192.168.1.4'; trusted_connection=true; database='Licenser'"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)

        Dim queryString As String = "SELECT [Programmer].[ID] FROM [Programmer]"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection

        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
        dataAdapter.SelectCommand = dbCommand
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet
        dataAdapter.Fill(dataSet)
        With
        DropDownList1.DataSource = DataSet.Tables("ID")
        DropDownList1.DisplayMember = ("Program_Navn")


        End With

End Sub

sådan her ser min kode ud
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:11 #7
OK hvad består fejlen i?
får du vist data i combo boxen?

det ser ud til at du mangler at sætte valuemember...

/esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:12 #8
Den brokker sig over Displaymember is not a member of System.Data.DataSet
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:19 #9
det felt har du heller ikke selectet op i din select fra databasen du har kun hentet ID

/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:21 #10
Well har ikke lavet min select i min "Sub DropDownlist1_SelectedIndex" men i første omgang skal jeg bare have det andet til at virke uden at lave fejl
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:23 #11
ja men dit dataset indeholde ikke feltet "Program_Navn", da du ikke har det med i din select sætning i din sqldataadapter.

/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:24 #12
hm hvordan fixer jeg så det ?
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:25 #13
nååå ligemeget :)
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:26 #14
Dim queryString As String = "SELECT ID, [Program_Navn] FROM Programmer"

skift din querystring ud med denne.... hvis dit felt i databasen altså hedder Program_Navn

/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:27 #15
hmm du kan vel ikke give mig en retningslinje ?
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:28 #16
ja det havde jeg også gjort, men det ændrede ikke noget
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:29 #17
Sub Button1_Click(sender As Object, e As EventArgs)

        Dim connectionString As String = "server='192.168.1.4'; trusted_connection=true; database='Licenser'"
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString)

        Dim queryString As String = "SELECT [Programmer].[ID], [Program_Navn] FROM [Programmer]"
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
        dbCommand.CommandText = queryString
        dbCommand.Connection = dbConnection

        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
        dataAdapter.SelectCommand = dbCommand
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet
        dataAdapter.Fill(dataSet)
        With DropDownList1
            .DataSource = DataSet.Tables(0)
            .DisplayMember = ("Program_Navn")
            .ValueMember = "ID"
        End With
End Sub

ovenstående kode burde du kunne skifte ud med din nuværende
/Esben
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:30 #18
Jeg tror ikke din datatable i datasettet hed "ID" men nok nærmere "Programmer"

/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:32 #19
Den kan ikke genkende DisplayMember og Valuemember i 'System.Web.UI.WebControls.DropDownList'.
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:34 #20
NÅÅ jamen så er det jo Windows forms du arbejder med så hører dit spørgsmål hjemme under ASP.Net....
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:35 #21
hmmm sorry then :)men min overskift hedder jo også (.NET) VB.Net
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:38 #22
JA men .Net er en betegnelse for versionen af programmeringssproget... og ikke at det er en Webapplikation du laver....
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:38 #23
men nu hvor vi er igang ved du så hvad jeg skal gøre ? når den nu ikke genkender dem i 'System.Web.UI.WebControls.DropDownList'.
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:40 #24
hmm ok jeg er stadigvæk meget grøn omkring alt det der .NET ting.
Avatar billede esbenbn Nybegynder
14. februar 2005 - 09:46 #25
der er en properti der hedder dataValueField og en der hedder DataTextField.
jeg tror det er dem der skal bruges
/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:49 #26
wuuhuuu Tak :)
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:52 #27
men Esben hvordan fortæller jeg min VB kode at den skal linke til den DropDownBox jeg har i mit ASPX/HTML del?
Avatar billede -slap- Nybegynder
14. februar 2005 - 09:53 #28
bliver det gjort med "With" ?
Avatar billede esbenbn Nybegynder
14. februar 2005 - 10:02 #29
With bliver brugt til at forkorte din kode... dvs. hvis du skrive "with dropdown1"
så kan du benytte dig af alle de properties din dropdown udbyder inden for with blokken.
/Esben
Avatar billede -slap- Nybegynder
14. februar 2005 - 10:04 #30
yes yes
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester