如何:在 DataRepeater 控件中搜索数据 (Visual Studio)

更新:2007 年 11 月

当使用包含大量记录的 DataRepeater 控件时,您可能会希望允许用户搜索特定的记录。与在控件自身中搜索数据不同,您可以通过查询底层的 BindingSource 来实现搜索。如果找到了项,便可以使用 CurrentItemIndex 属性来选择该项并将它滚动到视图中。

实现搜索

  1. 从“工具箱”中将 TextBox 控件拖到包含 DataRepeater 控件的窗体中。

  2. 在“属性”窗口中,将“Name”属性更改为“搜索文本框”。

  3. 从“工具箱”中将 Button 控件拖到包含 DataRepeater 控件的窗体中。

  4. 在“属性”窗口中,将“Name”属性更改为“搜索按钮”。将“Text”属性更改为“搜索”。

  5. 双击 Button 控件打开代码编辑器,并将下面的代码添加到 SearchButton_Click 事件处理程序中。

    Private Sub SearchButton_Click(ByVal sender As System.Object, ByVal e As  _
      System.EventArgs) Handles SearchButton.Click
        Dim foundIndex As Integer
        Dim searchString As String
        searchString = SearchTextBox.Text
        foundIndex = ProductsBindingSource.Find("ProductID", _
         searchString)
        If foundIndex > -1 Then
            DataRepeater1.CurrentItemIndex = foundIndex
        Else
            MsgBox("Item " & searchString & " not found.")
        End If
    End Sub
    
    private void searchButton_Click(System.Object sender, System.EventArgs e)
    {
        int foundIndex;
        string searchString;
        searchString = searchTextBox.Text;
        foundIndex = productsBindingSource.Find("ProductID", searchString);
        if (foundIndex > -1)
        {
            dataRepeater1.CurrentItemIndex = foundIndex;
        }
        else
        {
            MessageBox.Show("Item " + searchString + " not found.");
        }
    }
    

    将 ProductsBindingSource 替换为您的 DataRepeaterBindingSource 的名称,并将 ProductID 替换为要搜索的字段的名称。

请参见

任务

DataRepeater 控件疑难解答 (Visual Studio)

如何:更改 DataRepeater 控件的外观 (Visual Studio)

概念

DataRepeater 控件简介 (Visual Studio)

参考

DataRepeater

修订记录

日期

修订

原因

2008 年 7 月

新增主题。

SP1 功能更改。