bonjour
j'essaye d'expliquer:
j'ai dans ma Base un table contenant 2 lignes
la 1ere est rempli, la 2eme contient des cellules vides
j'ai un combobox contenent les noms de colonnes de la table, un textbox pour taper le mot à rechercher
si je ne tape rien dans le textbox la ligne 2 ne s'affiche pas
voici le code:
view_adresse est le nom de ma datagridview:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
    Private Sub Chercher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chercher.Click
        Select_Fichier()
        Dim user As String = ""
        If IsDBNull(TextBox1.Text) Then
            user = TextBox1.Text.ToString()
        End If
        Dim SQLStringSEARSH As String
        Dim objConnection As New OleDbConnection(ParamConnexion)
        Dim objDataAdapter As OleDbDataAdapter
        Dim objDataSet As New DataSet
        Dim objDataTable As DataTable
        Dim objDataRow As DataRow
        Dim LSTItems As ListViewItem
        Dim SUBItems As ListViewItem.ListViewSubItem
        Dim code As New Integer
        Dim colonne As String = ""
        Dim contenuCombo As String = "Prénom"
        If IsDBNull(cboRechercherDans.SelectedItem) Then
            contenuCombo = cboRechercherDans.SelectedItem.ToString()
        End If
        Select Case contenuCombo
            Case "Code"
                colonne = "codeclient"
            Case "Date d'ajout"
                colonne = "dateclient"
            Case "Nom"
                colonne = "nom"
            Case "Prénom"
                colonne = "prenom"
            Case "Adresse"
                colonne = "adresse"
            Case "GSM"
                colonne = "gsm"
            Case "Tél"
                colonne = "tel"
            Case "Raison sociale"
                colonne = "raison"
        End Select
        Console.WriteLine(colonne)
        'Commande pour lire dans la base de donnée la Table et met le en ordre ascendant par nom:
        SQLStringSEARSH = "SELECT * FROM TblClient WHERE " & colonne & " LIKE '%" & user & "%' ORDER BY codeclient"
        objConnection.Open()
        objDataAdapter = New OleDb.OleDbDataAdapter(SQLStringSEARSH, objConnection)
        objDataAdapter.Fill(objDataSet)
        '3.2) Affichage dans la listview:
        View_Adresse.Items.Clear()
        View_Adresse.BeginUpdate()
        'Répete chaque Table dans le DataSet collection.
        For Each objDataTable In objDataSet.Tables
            'Répete chaque ligne de la table
            For Each objDataRow In objDataTable.Rows
                LSTItems = View_Adresse.Items.Add(objDataRow("codeclient").ToString)
                If IsDBNull(objDataRow("dateclient")) Then
                    SUBItems = LSTItems.SubItems.Add("")
                Else
                    SUBItems = LSTItems.SubItems.Add(CDate(objDataRow("dateclient")).ToString("dd/MM/yyyy"))
                End If
                SUBItems = LSTItems.SubItems.Add(objDataRow("nom").ToString)
                SUBItems = LSTItems.SubItems.Add(objDataRow("prenom").ToString)
                SUBItems = LSTItems.SubItems.Add(objDataRow("adresse").ToString)
                SUBItems = LSTItems.SubItems.Add(objDataRow("gsm").ToString)
                SUBItems = LSTItems.SubItems.Add(objDataRow("tel").ToString)
                SUBItems = LSTItems.SubItems.Add(objDataRow("raison").ToString)
 
            Next
        Next
        ' Affiche le contenu au complet de View_Adresse:
        View_Adresse.EndUpdate()
        lblConnect.Text = "Connection réussi : " & View_Adresse.Items.Count & " Utilisateurs"
        'fermeture de la base:
        objConnection.Close()
    End Sub