Partager via


Comment : rechercher des données dans un contrôle DataRepeater (Visual Studio)

Lorsque vous utilisez un contrôle DataRepeater qui contient de nombreux enregistrements, vous souhaiterez peut-être permettre aux utilisateurs de rechercher un enregistrement spécifique.Au lieu de rechercher les données dans le contrôle lui-même, vous pouvez implémenter une recherche en interrogeant la BindingSource sous-jacente.Si l'élément est trouvé, vous pouvez ensuite utiliser la propriété CurrentItemIndex pour le sélectionner et le faire défiler dans l'affichage.

Pour implémenter la recherche

  1. Faites glisser un contrôle TextBox depuis la Boîte à outils vers le formulaire qui contient le contrôle DataRepeater.

  2. Dans la fenêtre Propriétés, remplacez la valeur de la propriété Name par SearchTextBox.

  3. Faites glisser un contrôle Button depuis la Boîte à outils vers le formulaire qui contient le contrôle DataRepeater.

  4. Dans la fenêtre Propriétés, remplacez la valeur de la propriété Name par SearchButton.Affectez la valeur Search à la propriété Text.

  5. Double-cliquez sur le contrôle Button pour ouvrir l'Éditeur de code et ajoutez le code suivant au gestionnaire d'événements SearchButton_Click.

    Private Sub SearchButton_Click() 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.");
        }
    }
    

    Remplacez ProductsBindingSource par le nom de la BindingSource de votre DataRepeater et remplacez IDProduit par le nom du champ que vous souhaitez rechercher.

Voir aussi

Tâches

Dépannage des problèmes liés au contrôle DataRepeater (Visual Studio)

Comment : modifier l'apparence d'un contrôle DataRepeater (Visual Studio)

Référence

DataRepeater

Concepts

Introduction au contrôle DataRepeater (Visual Studio)