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
Solved

ComboBoxes accepting the same values?

Posted on 2014-04-11
4
196 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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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

Title # Comments Views Activity
Show/Hide ASP.NET controls with JQuery best practices 3 92
Convert datetime to time string 10 28
Convert Ctime to date time in textfile? 7 33
System.net.Sockets Error 5 28
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

829 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