Solved

ComboBoxes accepting the same values?

Posted on 2014-04-11
4
197 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 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