Visual Basic 2008移动项目:如何将数据从组合框过滤到DataGrid

时间:2012-05-05 10:05:32

标签: vb.net visual-studio

我正在开展移动项目,我有这个:

  1. 搜索文本框(填充方法)
  2. 组合框(绑定到数据)
  3. 数据网格
  4. 我能够做到这一点:

    使用fillby方法将搜索查询输入到文本框中,datagrid显示相应的行。

    我需要帮助:

    使用组合框过滤相同的数据。如果我使用添加查询方法(fillby方法)到组合框,它会创建另一个文本框搜索查询。我不希望这样。我希望能够通过组合框过滤数据网格。

    这是我的ComboBox Sub的代码:

        Private Sub CityComboBox_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CityComboBox.SelectedValueChanged
    
        Dim RestIDShort As Short       'primary key
        Dim RestDataRow As DataRow     'complete data row of selected value
        Dim RestDataRows As DataRow()  'holding the data
    
        Try
    
            'get the restID for the selected city
            RestIDShort = Convert.ToInt16(CityComboBox.SelectedValue)
    
            'find the row from the table for the selected city
            RestDataRow = RestaurantEateriesDataSet.RestaurantTable.FindByRestID(RestIDShort)
    
            'Grab the variables here. Don't really need them.  Just to see if I can pull data.
    
            'NameStringShow = RestDataRow("Name")
            'FoodTypeStringShow = RestDataRow("FoodCat")
            'CityStringShow = RestDataRow("City")
    
            'test to see if we can write to screen
            'successfully wrote this to the screen onload but not on combobox change
            'TextBox1.Text = NameStringShow
    
            'retrieve the array for the selected data row
            'not sure if this is how to call when there is only one table????
             RestDataRows = RestDataRow.GetChildRows("RestaurantTable")
    
            'fill the datagrid with the array of selected value rows
            'I don't know how to do this part:   
    
    
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    
        End Sub   
    

    我确实创建了一个可以调用的查询(如果需要)。当我在文本框中调用它时查询有效,因此如果有办法在组合框中调用它,然后在数据网格中显示所选字段。 。 。一切都会好的。

    任何帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

Private Sub bttnFilter Click(...) Handles bttnFilter.Click
    Dim filter As String
    filter = InputBox("Enter product name, or part of it")
    ProductsBindingSource.Filter = "ProductName LIKE '%" & filter.Trim & "%'"
End Sub

同样适用于组合框,使用combobox1.selectedItem()代替过滤器。
它是搜索的基础,你有任何其他问题,欢迎你。