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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
Imports System.Data
Public Class Form1
'declare un DataView
Dim dv As DataView = New DataView
Public Sub New()
' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()
' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'remplir la table Personnel1 au demarrage
'Necessaire pour "Filler" les combobox
Try
Me.Personnel1TableAdapter1.ClearBeforeFill = True
Me.Personnel1TableAdapter1.FillBy(Me.PersonnelDS1.Personnel1)
'ligne à rajouter pour rafraichir le DataGridView1
DataGridView1.DataSource = PersonnelDS1
DataGridView1.DataMember = PersonnelDS1.Personnel1.TableName
btnFilterNom.Enabled = True
btnFilterNomNumeroInscription.Enabled = True
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
'1-Inititialise les 2 combobox pour le bouton Filter par Nom
'combo nom de colonne Nom
cboColNom.Items.Add(PersonnelDS1.Personnel1.Columns(1).ColumnName)
cboColNom.DisplayMember = PersonnelDS1.Personnel1.Columns(1).ColumnName
cboColNom.ValueMember = PersonnelDS1.Personnel1.Columns(1).ColumnName
cboColNom.Tag = "=" 'operateur egal
'combo selectionner valeur champ Nom
For Each valeurChamp As DataRow In PersonnelDS1.Personnel1.Rows
cboNom.Items.Add(valeurChamp(1))
cboNom.DisplayMember = valeurChamp(1) 'champ affiche (peut etre different par ex:prenom)
cboNom.ValueMember = valeurChamp(1) 'valeur selectionne
Next
'2-Inititialise les 2 combobox pour le bouton Filter par Nom et NumeroInscription
'combo nom colonne Prenom
cboColPrenom.Items.Add(PersonnelDS1.Personnel1.Columns(2).ColumnName)
cboColPrenom.DisplayMember = PersonnelDS1.Personnel1.Columns(2).ColumnName
cboColPrenom.ValueMember = PersonnelDS1.Personnel1.Columns(2).ColumnName
cboColPrenom.Tag = "=" 'operateur egal
'combo selectionner valeur champ Prenom
For Each valeurChamp As DataRow In PersonnelDS1.Personnel1.Rows
cboPrenom.Items.Add(valeurChamp(2))
cboPrenom.DisplayMember = valeurChamp(2) 'champ affiche
cboPrenom.ValueMember = valeurChamp(2) 'valeur selectionne
Next
'3/combo nom colonne NumeroInscription
cboColNumeroInscription.Items.Add(PersonnelDS1.Personnel1.Columns(4).ColumnName)
cboColNumeroInscription.DisplayMember = PersonnelDS1.Personnel1.Columns(4).ColumnName
cboColNumeroInscription.ValueMember = PersonnelDS1.Personnel1.Columns(4).ColumnName
cboColNumeroInscription.Tag = ">" 'operateur superieur
'3/combo selectionner valeur champ NumeroInscription
For Each valeurChamp As DataRow In PersonnelDS1.Personnel1.Rows
cboNumeroInscription.Items.Add(valeurChamp(4))
cboNumeroInscription.DisplayMember = valeurChamp(4) 'champ affiche
cboNumeroInscription.ValueMember = valeurChamp(4) 'valeur selectionne
Next
End Sub
'Rajouter un controle FillByToolStrip avec un bouton
'FillByToolStripButton modifie poour rafraichir les donnees
'propriete text=Rafraichir
Private Sub FillByToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FillByToolStripButton.Click, ToolStripButton1.Click
Try
Me.Personnel1TableAdapter1.ClearBeforeFill = True
Me.Personnel1TableAdapter1.FillBy(Me.PersonnelDS1.Personnel1)
'ligne à rajouter pour rafraichir le DataGridView1
DataGridView1.DataSource = PersonnelDS1
DataGridView1.DataMember = PersonnelDS1.Personnel1.TableName
'Activer les 2 boutons filtrer
btnFilterNom.Enabled = True
btnFilterNomNumeroInscription.Enabled = True
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
'Bouton FilterNom par DataView
'la valeur ValueMember est recupere par SelectedItem
'Faire Parsing de la chaine pour les valeurs numeriques
Private Sub btnFilterNom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFilterNom.Click
Try
dv.Table = PersonnelDS1.Personnel1
dv.RowFilter = cboColNom.DisplayMember & cboColNom.Tag.ToString & "'" & cboNom.SelectedItem.ToString & "' "
DataGridView1.DataSource = dv
'Desactive -Necessite Rafraichir pour etre active
btnFilterNom.Enabled = False
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
'Bouton FilterNomNomNumeroInscription par DataView
'la valeur ValueMember est recupere par SelectedItem
'Faire Parsing de la chaine pour les valeurs numeriques
Private Sub btnFilterNomNumeroInscription_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFilterNomNumeroInscription.Click
Try
dv.Table = PersonnelDS1.Personnel1
dv.RowFilter = cboColPrenom.DisplayMember & cboColPrenom.Tag.ToString & "'" & cboPrenom.SelectedItem.ToString & _
"'AND " & cboColNumeroInscription.DisplayMember & cboColNumeroInscription.Tag.ToString & "'" & Integer.Parse(cboNumeroInscription.SelectedItem.ToString) & "'"
DataGridView1.DataSource = dv
'Desactive -Necessite Rafraichir pour etre active
btnFilterNomNumeroInscription.Enabled = False
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
End Class
'En commentaire un bouton associe à une requete dans le concepteur
'Requete "FillParNom" remplit la table avec condition sur nom
'requete cree dans concepteur
'SELECT [N°], Nom, Prenom, DateNaissance, NumeroInscription, Taille
'FROM Personnel1
'WHERE (Nom = 'Ben ali') AND (NumeroInscription = 120)
'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Try
' Me.Personnel1TableAdapter1.FillParNom(Me.PersonnelDS1.Personnel1)
' Catch ex As System.Exception
' System.Windows.Forms.MessageBox.Show(ex.Message)
' End Try
'End Sub |
Partager