0

我正在做一个移动项目,我有这个:

  1. 搜索文本框(fillby 方法)
  2. 一个组合框(绑定到数据)
  3. 数据网格

我能够做到这一点:

使用 fillby 方法在文本框中输入搜索查询,数据网格会显示相应的行。

我需要帮助:

使用组合框过滤相同的数据。如果我对组合框使用 Add Query 方法(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   

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

任何帮助,非常感谢。

4

1 回答 1

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() 代替过滤器。
它是搜索的基础,如果您有任何其他问题欢迎您。

于 2012-05-05T15:05:12.127 回答