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

Mise à jour : Juillet 2008

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é Nom 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é Nom 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(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.");
        }
    }
    

    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)

Concepts

Introduction au contrôle DataRepeater (Visual Studio)

Référence

DataRepeater

Historique des modifications

Date

Historique

Raison

Juillet 2008

Rubrique ajoutée.

Modifications de fonctionnalités dans le SP1.