Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

could not bind to new display member. Parameter name: newDisplayMember

Posted on 2004-09-13
10
Medium Priority
?
1,800 Views
Last Modified: 2008-01-09
I have this function that is supposed to work fine.
Somehow it does not
It gives me error and the combobox has a datarowview for each record.
Solution is a definate 'A'
Help Appreciated.

    Private Sub loadNewInvestors()
        Try
            'Load data for new investor list.

            Dim ssSQL As String
            ssSQL = "ssInvestorsGetList"

            Dim ssCon As SqlConnection = New SqlConnection(eRampConnStr)
            Dim ssCmd As SqlCommand = New SqlCommand(ssSQL, ssCon)
            Dim ssDa As SqlDataAdapter = New SqlDataAdapter(ssCmd)
            Dim loanListDs As DataSet = New DataSet

            ssDa.Fill(loanListDs)

            newInvestor.DataSource = loanListDs
            newInvestor.ValueMember = "company"
            newInvestor.DisplayMember = "orgId"
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

ThanX
0
Comment
Question by:ECIQue
10 Comments
 
LVL 7

Expert Comment

by:ramesh12
ID: 12047757
What is the error. check your sql to have both of the fields that you are using with your newInvestor
0
 
LVL 7

Expert Comment

by:natloz
ID: 12047795
What kind of ssSQL statement is that? A call to a stored procedure or something??? I doesn't look like you are specifying enough information. A sample would be...

'Pass connection string to SqlConnection
                oConn.ConnectionString = strConn

                '******************************
                'Load the Company Dataset Table
                '******************************
                'SQL Database statements
                oComm = New SqlCommand
                oComm.CommandType = CommandType.StoredProcedure
                oComm.CommandText = "spGetAdminCompany"
                oComm.Connection = oConn

                'Send in parameters (0 means all branches)
                oComm.Parameters.Add(New SqlParameter("@pkCompanyID", SqlDbType.Int)).Value = 0

                'create and fill the Data Adapter
                Dim oDa As New SqlDataAdapter(oComm) 'SQL Data Adapter object
                oDa.Fill(_oDsAdmin, "spGetAdminCompany")

                With cboCompany
                    .DataSource = _oDsAdmin.Tables("spGetAdminCompany")
                    .ValueMember = "pkCompanyID"
                    .DisplayMember = "varCompanyCode"
                End With

                cboCompany.SelectedValue = intSelectedCompany

                'Remove parameters
                oComm.Parameters.Clear()

                '*****************************
                'Load the Branch Dataset Tab
0
 

Author Comment

by:ECIQue
ID: 12047798
I have already tried that
This is all alright.

I also treid all suggestions in this discussion

http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_21040522.html?query=could+not+bind+to+the+new+display+member&topics=323

Let me know
-Smit.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 7

Expert Comment

by:natloz
ID: 12047825
Is it a stored procedure? Can you post the definition of your stored proc?
0
 
LVL 7

Expert Comment

by:natloz
ID: 12047843
Change your catch to be...

catch ex as exception
  msgbox (ex.tostring)

for a more verbose error message...and post the message.
0
 

Author Comment

by:ECIQue
ID: 12047951
FYI it is pulling the data into the dataset.
when I go into debug
I tried to check the values and the caption on columns all exist and match the info.

Here is what I mean
This is the debug window info
===========================================
?loanlistds.Tables(0).Columns(0).Caption
"company"

?loanlistds.Tables(0).Columns(1).Caption
"orgId"

?loanlistds.Tables(0).Rows.Count
2

?loanlistds.Tables(0).Rows(0)(0)
"Company Name" {String}
    String: "First NLC Financial Services"

?loanlistds.Tables(0).Rows(0)(1)
"100011010" {String}
    String: "1001959"

?loanlistds.Tables(0).Rows(1)(0)
"Name" {String}
    String: "Name"

?loanlistds.Tables(0).Rows(1)(1)
"1111111" {String}
    String: "1111111"

?loanlistds.Tables(0).Columns.Count
2

Let me knwo how it goes.
I dont think there is any error in data retrival as I can see the data there.
0
 

Author Comment

by:ECIQue
ID: 12048003
System.ArgumentException: Could not bind the new display member
Parameter name: newDisplayMember
  at system.windows.forms.listcontrol.setdataconnection(object newdatasource, bindingmemberinfo newdisplaymember, boolean force)

lemme knwo if that helps
Smit.
0
 
LVL 7

Accepted Solution

by:
natloz earned 2000 total points
ID: 12048669
Try this for kicks Smit...just to see....

Right click your solution and ADD ITEM -> Dataset and call it "dsLists"

You will get the yellow screen and click Server Explorer...
Navigate to your SQL database and drag the stored procedure into the window....
Delete the second table it creates called TABLE... and just keep ssInventorsGetList table...
Save and close the dataset....

Now use...
Private Sub loadNewInvestors()
        Try
            'Load data for new investor list.
            Dim ssSQL As String
            ssSQL = "ssInvestorsGetList"

            Dim ssCon As SqlConnection = New SqlConnection(eRampConnStr)
            Dim ssCmd As SqlCommand = New SqlCommand(ssSQL, ssCon)
            Dim ssDa As SqlDataAdapter = New SqlDataAdapter(ssCmd)
            Dim oDs As DataSet = New DataSet("dsLists")

           'create and fill the Data Adapter
           ssDa.Fill(oDs, "ssInventorsGetList")

                             
           With newInvestor
                    .DataSource = oDs.Tables("ssInventorsGetList")
                    .ValueMember = "company" <---NOTE THIS MAY NEED TO BE ORGID ... VALUE IS KEY
                    .DisplayMember = "orgID" <----THIS IS WHAT SHOWS IN COMBO BOX VISUALLY
           End With

                 Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
0
 
LVL 18

Expert Comment

by:DotNetLover_Baan
ID: 12049728
Hi ECIQue,
this is a bad approach to binding...

            newInvestor.DataSource = loanListDs
            newInvestor.ValueMember = "company"
            newInvestor.DisplayMember = "orgId"

ALWAYS bind to a table.

            newInvestor.DataSource = loanListDs.Table(0)
            newInvestor.ValueMember = "company"
            newInvestor.DisplayMember = "orgId"

OR..

while specifying the column titles use proper mapping (TableName.ColumnName)

            newInvestor.DataSource = loanListDs
            newInvestor.ValueMember = "MyTable.company"
            newInvestor.DisplayMember = "MyTable.orgId"

-Baan
0
 

Author Comment

by:ECIQue
ID: 12054033
I already had tried loanListDs.tables(0) and that did not work

any idea why ???
Greatly appreciate all your help.

-Smit.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Screencast - Getting to Know the Pipeline
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

578 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