Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med att fylla combobox

Postades av 2009-01-17 16:29:08 - Christian Andersson, i forum vb.net, Tråden har 3 Kommentarer och lästs av 1123 personer

Skall fylla en combocox med information från en databas men när man öppnar comboboxen så är den vit men antalet rader stämmer. Lägger jag till ytterliggare en rad i tabellen som datat hämtas från så utökas comboboxen med en rad. Problemet är som sagt att det inte skrivs ut någon text. Hoppas att någon kan hjälpa mig. Här kommer koden:

Private Sub LoadPersoner()
Dim oOleDbConn As OleDbConnection
Dim oOleDbDa As OleDbDataAdapter
Dim oOleDbCmd As OleDbCommand
Dim odtDataTable As DataTable
Dim odrDataRow As DataRow
Dim oitmx As ComboBox
Dim strProvider As String = " "
Dim strFileSource As String = " "
Dim strSQL As String = " "
Dim intRaknare As Integer
Dim intAntalRader As Integer

strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strFileSource = Application.StartupPath & "\DATABAS.mdb"

cmbPersoner.Items.Clear()

oOleDbConn = New OleDbConnection
oOleDbConn.ConnectionString = strProvider & strFileSource
oOleDbConn.Open()

strSQL = "SELECT ID, Namn "
strSQL &= "FROM Personer"
strSQL &= "ORDER BY Namn ASC;"

oOleDbCmd = New OleDb.OleDbCommand(strSQL, oOleDbConn)
oOleDbDa = New OleDb.OleDbDataAdapter
oOleDbDa.SelectCommand = oOleDbCmd

odtDataTable = New DataTable
oOleDbDa.Fill(odtDataTable)

intAntalRader = odtDataTable.Rows.Count
For intRaknare = 0 To intAntalRader - 1
odrDataRow = odtDataTable.Rows.Item(intRaknare)
oitmx = New ComboBox
With oitmx
.DisplayMember = odrDataRow.Item("Namn")
.ValueMember = odrDataRow.Item("ID")
End With
cmbPersoner.Items.Add(oitmx)
oitmx = Nothing
Next
oOleDbConn.Close()
End Sub


Svara

Sv: Problem med att fylla combobox

Postades av 2009-01-17 19:19:08 - Per Ljung

Hej!

För det första undrar jag varför du skapar en ny combox för varje omgång i loopen? Du ska ju skapa en ComboBoxItem, inte en ny ComboBox, hoppas du förstår skillnaden mellan dem.

Du behöver bara skapa en combox _en_ gång.

Sen använder du din DataTable som DataSource för comboxen.

cmbPersoner.DataSource = odtDataTable

cmbPersoner.DisplayMember = "Namn"
cmbPersoner.ValueMember = "ID"
cmbPersoner.DataBind()




Och om du har lagt till poster i databasen behöver du bara skriva:

cmbPersoner.Datasource = Nothing
cmbPersoner.DataSource = odtDataTable
cmbPersoner.DataBind()


Då slipper du loopa igenom hela din DataTable och lägga till varje item för sig. DisplayMember och ValueMember anger bara vilka kolumner i din DataSource som ska användas, alltså namnen på kolumnerna, inte deras innehåll.

Varför det inte visas någon text är ju då förstås att det inte finns några kolumner som heter det du anger.

mvh Per


Svara

Sv:Problem med att fylla combobox

Postades av 2009-01-17 20:15:32 - Christian Andersson

Hur gör jag för att skapa en ComboBoxItem? När jag ändrar ComboBox till ComboBoxItem så får jag fel i Visual Studio (Type 'ComboBoxItem' is not defined)


Svara

Sv: Problem med att fylla combobox

Postades av 2009-01-17 20:44:34 - Per Ljung

Hej!

Ursäkta, skrev lite fel i mitt förra inlägg, du behöver alltså inte skapa några objekt av klassen ComboBoxItem eftersom du binder din ComboBox direkt till din DataTable och alla items läggs då till automatiskt.

Annars har du ComboBoxItem finns för övrigt namespace System.Windows.Controls (om du skulle behöva den klassen nån gång).


mvh Per


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 764
27 959
271 761
642
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies