Wrox Programmer Forums
Go Back   Wrox Programmer Forums > Visual Basic > VB 6 Visual Basic 6 > VB.NET
| 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 software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
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,
 
Old February 12th, 2005, 04: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





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 03:04 PM
binding recordset with combo problem emachines Access VBA 1 February 28th, 2005 04:10 PM
Weird Combo Box Binding Error kpowers@wppisys.org Pro VB.NET 2002/2003 0 October 8th, 2003 08:38 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.