Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Visual Basic > VB 6 Visual Basic 6 > VB.NET
Password Reminder
Register
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
VB.NET General VB.NET discussions for issues that don't fall into other VB.NET forums.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the VB.NET section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersí questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old October 7th, 2003, 12:04 PM
Registered User
 
Join Date: Jun 2003
Location: Middleton, WI, USA.
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via MSN to kpowers@wppisys.org
Default Weird Combo Box Data Binding Problem

Hello everyone,

I'm getting a strange error when I try to bind a combo box to a Dataset.
Here's my code!

Private Sub Get_Data()
        Try
            Dim sqlcmd = New SqlCommand("Select * from Utility order by
Utility", sqlConn)

            daDataAdapter = New SqlDataAdapter
            daDataAdapter.SelectCommand = sqlcmd

            dsDataSet = New Dataset
            daDataAdapter.Fill(dsDataSet, "Utility")


            sqlcmd = New SqlCommand("Select * from Adjustments", sqlConn)
            daDataAdapter = New SqlDataAdapter
            daDataAdapter.SelectCommand = sqlcmd

            daDataAdapter.Fill(dsDataSet, "Adjustments")

            daRel = New DataRelation("UtilAdjust",
dsDataSet.Tables("Utility").Columns("Code"),
dsDataSet.Tables("Adjustments").Columns("Code"))
            dsDataSet.Relations.Add(daRel)

            Set_Update_Command()
            Set_Insert_Command()
            Set_Delete_Command()

        Catch ex As Exception
            MessageBox.Show(ex.Source.ToString & " - " & ex.Message,
Application.ProductName, _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

    End Sub

    Private Sub BindFields()
        Try
            Dim ctrl As Control
            For Each ctrl In Me.Controls
                If TypeOf ctrl Is TextBox Then
                    ctrl.DataBindings.Clear()
                    ctrl.Text = ""
                End If
            Next

            cbUtility.DataBindings.Clear()
            cbType.DataBindings.Clear()

            For Each ctrl In Me.GroupBox1.Controls
                If TypeOf ctrl Is TextBox Then
                    ctrl.DataBindings.Clear()
                    ctrl.Text = ""
                End If
            Next

            cbUtility.DataSource = dsDataSet.Tables("Utility")
            cbUtility.DisplayMember = "UTILITY"
            cbUtility.ValueMember = "CODE"



            tbAN.DataBindings.Add("Text", dsDataSet,
"Utility.UtilAdjust.AdjustmentName")
            lblAK.DataBindings.Clear()
            lblAK.DataBindings.Add("Text", dsDataSet,
"Utility.UtilAdjust.AdjKey")

            BindDate(tbASD, "UTILITY.UtilAdjust.AdjStartDate")
            BindDate(tbAED, "UTILITY.UtilAdjust.AdjEndDate")

            BindCurr(tbAA, "UTILITY.UtilAdjust.adjustment")

            BindType(cbType, "UTILITY.UtilAdjust.type")

            bmUtil = Me.BindingContext(dsDataSet, "Utility")
            bmAdjust = Me.BindingContext(dsDataSet, "UTILITY.UtilAdjust")

            AddHandler Me.BindingContext(dsDataSet,
"Utility").PositionChanged, _
            AddressOf dtUtil_PositionChanged

        Catch ex As Exception
            MessageBox.Show(ex.Source.ToString & " - " & ex.Message,
Application.ProductName, _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub


First I get my data by calling Get_Data(), Next I bind my data be calling
BindFields()

I get the following error when I hit these statements. cbUtility = combo
box = System.Windows.Forms.ComboBox
cbUtility.DataSource = dsDataSet.Tables("Utility")
cbUtility.DisplayMember = "UTILITY"


Error:
"Microsoft.VisualBasic - Cast from type 'DataRowView' to type 'String' is
not valid"

Another odd thing is when the exception is raised my "Catch" doesn't pick
it
up! I get an error message on those lines and the program keeps going? Also everything works correctly, all controls are bound correctly,
including
that combo box.

THanks,
Reply With Quote
  #2 (permalink)  
Old February 12th, 2005, 03:52 PM
Registered User
 
Join Date: Feb 2005
Location: , , .
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Default

This one had me really frustrated, but the answer is to set the DataSource of a list control last - (ie out of logical sequence!) it didn't make sense to me, but it works!

Good luck

Dave

Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Binding Column Name to a Combo Box. jitu ADO.NET 3 June 27th, 2013 07:35 AM
Combo Box Complex Binding Example? pigparent VB Databases Basics 2 June 11th, 2008 12:08 PM
Binding a combo box to update a list view Amethyst1984 General .NET 0 February 28th, 2006 02:04 PM
binding recordset with combo problem emachines Access VBA 1 February 28th, 2005 03:10 PM
Weird Combo Box Binding Error kpowers@wppisys.org Pro VB.NET 2002/2003 0 October 8th, 2003 08:38 AM



All times are GMT -4. The time now is 05:20 PM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.