troubleshooting Question

Unable to filter Dataset

Avatar of vbNewbie2009
vbNewbie2009 asked on
.NET ProgrammingVisual Basic.NETVisual Basic Classic
7 Comments1 Solution443 ViewsLast Modified:
I'm having a difficult time grasping how I can filter data in a datatable using the Select method and then populate a combobox.  I've created a Private Dataset for my form that I populate on form Load.  Then when my routine runs to fill a combobox based off that I want to perform a Select against the table in the dataset but keep getting the error below.  I've attached the code as I have it...any help would be most appreciated.

Problem responseChkBoxEvents: --Message:Cannot bind to the new display member.  Parameter name: newDisplayMember--StackTrace:   at System.Windows.Forms.ListControl.SetDataConnection(Object newDataSource, BindingMemberInfo newDisplayMember, Boolean force)     at System.Windows.Forms.ListControl.set_ValueMember(String value)     at RxAssess.DynamicForm.responseChkBoxEvents(Object sender, EventArgs e) in C:\Programming\DynamicForm.vb:line 629--TargetSite:Void SetDataConnection(System.Object, System.Windows.Forms.BindingMemberInfo, Boolean)
Public Class DynamicForm
Private dsNCICriteria As New DataSet

Private Sub DynamicForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Capture data for NCI Criteria Combo Boxes
Dim conStringNCICriteria As String = "removed string;"
Dim strSQLNCICriteria As String = "select ntypeid,grade,cast(grade as nvarchar) + '   -   ' + description as description " + _
                "from nci_criteria"
Dim conNCICriteria As New SqlConnection(conStringNCICriteria)
Dim daNCICriteria As New SqlDataAdapter(strSQLNCICriteria, conNCICriteria)
daNCICriteria.Fill(dsNCICriteria, "NCICriteria")
conNCICriteria = Nothing
strSQLNCICriteria = Nothing
conStringNCICriteria = Nothing
End Sub

Sub responseChkBoxEvents(ByVal sender As System.Object, ByVal e As System.EventArgs)
If chk.Checked = True Then
                If chk.Name.Substring(chk.Name.LastIndexOf("N") + 1) <> 0 Then
                    Dim nciTypeID As String = chk.Name.Substring(chk.Name.LastIndexOf("N") + 1)
                    Dim nciFilter As String
                    nciFilter = "ntypeid = " + chk.Name.Substring(chk.Name.LastIndexOf("N") + 1)

                    Dim cbo As ComboBox = TryCast(Me.Controls(Replace(Replace(chk.Name, "CHK", "NCICBO"), "L" + z.ToString, "L" + (z + 1).ToString)), ComboBox)
                                      With cbo
                        .DataSource = dsNCICriteria.Tables("NCICriteria").Select(nciFilter)
                        .DisplayMember = "description"
                        .ValueMember = "grade"
                        .Visible = True
                        .SelectedItem = Nothing
                        .AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
                        .AutoCompleteMode = AutoCompleteMode.Append
                    End With
                End If
End Sub

Open in new window

Join our community to see this answer!
Unlock 1 Answer and 7 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 7 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros