Solved

ComboBoxes accepting the same values?

Posted on 2014-04-11
4
194 Views
Last Modified: 2014-04-11
I have 2 combobox controls that are loaded via a DataTable. Both CB's use the same DataTable to load them. However, prior to loading I assign the DataTable to a newly created DataTable. I'm loading these CB's with the same values, however, each one could contain a different selected value.

My problem is that when I select a value from one, the other CB automatically reflects the same value, why is that and how can that be resolved...other than creating a new routine as a separate load.

Here is my code:

    Public Sub LoadCombo_Direction()
        Try
            Dim ds As New DataSet

            InitializeErrorClass(EH)
            BL.LoadCombo_Direction(EH)

            cmbDirection1.DataSource = Nothing
            cmbDirection2.DataSource = Nothing

            If EH.DataSet.Tables(0).Rows.Count > 0 Then
                ds = EH.DataSet

                RemoveHandler cmbDirection1.SelectedIndexChanged, AddressOf cmbDirection1_SelectedIndexChanged
                cmbDirection1.DisplayMember = EH.DataSet.Tables(0).Columns(1).ColumnName
                cmbDirection1.ValueMember = EH.DataSet.Tables(0).Columns(0).ColumnName
                cmbDirection1.DataSource = EH.DataSet.Tables(0)
                cmbDirection1.SelectedIndex = -1

                cmbDirection2.DisplayMember = ds.Tables(0).Columns(1).ColumnName
                cmbDirection2.ValueMember = ds.Tables(0).Columns(0).ColumnName
                cmbDirection2.DataSource = ds.Tables(0)
                cmbDirection2.SelectedIndex = -1
                AddHandler cmbDirection1.SelectedIndexChanged, AddressOf cmbDirection1_SelectedIndexChanged
            End If

        Catch ex As Exception
            EH.ErrorMessage = "LoadCombo_Direction() - " & ex.Message & "~E"
        End Try

        EH.ProcessMessages(Me, sbr, EH.ErrorMessage)
    End Sub

Open in new window

0
Comment
Question by:BlakeMcKenna
  • 2
  • 2
4 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 total points
ID: 39995363
Change this line

ds = EH.DataSet

to

ds = EH.DataSet.Copy()
0
 

Author Comment

by:BlakeMcKenna
ID: 39995370
That worked CodeCruiser but what essentially was happening with the way I was doing it?
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 39995402
You were just copying the reference of the same dataset into the new variable(so 2 variables pointing to the same object in memory) instead of creating a real copy of it.
0
 

Author Comment

by:BlakeMcKenna
ID: 39995424
Got it...thanks for the clarification!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now