Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27512

VS 2010 How to databind Combobox

$
0
0
Before I changed my code, I used
vb.net Code:
  1. daLevel.Fill(ds, "tblLevel")
to update the datatable. This specifies a dataset (ds) that I could then use to bind to the combobox in the following way:
vb.net Code:
  1. Dim bndLevel As New BindingSource
  2.         bndLevel.DataSource = ds.Tables("tblLevel")
  3.         cboLevelMaint.DataSource = bndLevel
  4.         cboLevelMaint.ValueMember = "lvID"
  5.         cboLevelMaint.DisplayMember = "lvName"
  6.         cboLevelMaint.SelectedIndex = -1

I have now changed my code following advice from tg and JMc (strongly based on JMc's codebank entries in his signature.
The update now does not specify a dataset
vb.net Code:
  1. Me.LevelAdapter.Fill(Me.LevelTable)
I tried finding ".Tables" in the DataAdapter but of course it isn't there.

MY question is: with my code below, how can I bind the combobox like I did before I changed the code.
vb.net Code:
  1. Public Class frmMain
  2.  
  3.     Private conn As New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\Vocab.mdb")
  4.     Private LevelAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM tblLevel", conn)
  5.     Private LevelTable As New DataTable
  6.  
  7. . . . . . . .
  8.  
  9.     Private Sub btnLevelDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnLevelDelete.Click
  10.  
  11.         Using conn
  12.             Using LevelAdapter
  13.                 conn.Open()
  14.                 LevelAdapter.DeleteCommand.Parameters("@id").Value = cboLevelMaint.SelectedValue
  15.                 LevelAdapter.DeleteCommand.ExecuteNonQuery()
  16.                 SaveLevelData()
  17.             End Using
  18.         End Using
  19.  
  20.         ShowDeleted()
  21.     End Sub
  22.  
  23. #Region "Datalayer"
  24.  
  25.     Private Sub InitialiseLevelDataAdapter()
  26.         Dim DeleteCMD As New OleDb.OleDbCommand("DELETE FROM tblLevel WHERE lvID = @id", Me.conn)
  27.         Dim InsertCMD As New OleDb.OleDbCommand("INSERT INTO tblLevel (lvName) VALUES(@nm)", Me.conn)
  28.         Dim UpdateCMD As New OleDb.OleDbCommand("UPDATE tblLevel SET lvName = @nm WHERE lvID = @id", Me.conn)
  29.  
  30.         DeleteCMD.Parameters.Add("@id", OleDb.OleDbType.Double)
  31.  
  32.         InsertCMD.Parameters.Add("@nm", OleDb.OleDbType.VarChar, 10)
  33.  
  34.         UpdateCMD.Parameters.Add("@nm", OleDb.OleDbType.VarChar, 10)
  35.         UpdateCMD.Parameters.Add("@id", OleDb.OleDbType.Double)
  36.  
  37.         Me.LevelAdapter.DeleteCommand = DeleteCMD
  38.         Me.LevelAdapter.InsertCommand = InsertCMD
  39.         Me.LevelAdapter.UpdateCommand = UpdateCMD
  40.  
  41.         Me.LevelAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  42.     End Sub
  43.  
  44.     Private Sub GetLevelData()
  45.         Me.LevelAdapter.Fill(Me.LevelTable)
  46.     End Sub
  47.  
  48.     Private Sub SaveLevelData()
  49.         Me.LevelAdapter.Update(Me.LevelTable)
  50.     End Sub
  51. #End Region

This attempt did not report errors but did not work either.
vb.net Code:
  1. Private Sub btnLevelDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnLevelDelete.Click
  2.         Dim adapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(SQL, conn)
  3.         Dim Levels As DataSet = New DataSet
  4.         Dim bndLevel As New BindingSource
  5.  
  6.         Using conn
  7.             Using LevelAdapter
  8.                 conn.Open()
  9.                 LevelAdapter.DeleteCommand.Parameters("@id").Value = cboLevelMaint.SelectedValue
  10.                 LevelAdapter.DeleteCommand.ExecuteNonQuery()
  11.                 SaveLevelData()
  12.             End Using
  13.         End Using
  14.  
  15.         SQL = "SELECT * FROM tblLevel"
  16.         adapter.Fill(Levels, "tblLevel")
  17.  
  18.         bndLevel.DataSource = Levels.Tables("tblLevel")
  19.         cboLevelMaint.DataSource = bndLevel
  20.         cboLevelMaint.ValueMember = "lvID"
  21.         cboLevelMaint.DisplayMember = "lvName"
  22.         cboLevelMaint.SelectedIndex = -1
  23.  
  24.         ShowDeleted()
  25.     End Sub

Viewing all articles
Browse latest Browse all 27512

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>