Contenu saisi d'un datagridview vers un dataset
Bonjour j'espère que le titre est assez clair ...
Mais au cas ou je décrit xD :
Dans un formulaire, j'ai un datagridview qui se base sur une datatable "Fiche de frais".
j'ai donc mon datagridview qui s'affiche avec le nom des colonnes ...
et l'utilisateur peut saisir les informations.
Et là 2 grandes questions:
- (Après avoir appuyer sur un bouton OK ...) comment envoyer les données saisies vers la datatable afin de remplir mon rapport CrystalReport ?
Mon brouillon:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 'Traitement des informations saisies et génération du rapport
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim nbLigne = DataGridView1.RowCount
'for each nbligne ... supprimer
Dim MyDA As New Data
Dim ds As New Divers
Try
'MyDA.'Fill(ds.Tables("listeCanaux"))
Catch ex As InvalidOperationException
MsgBox("Erreur pendant l'insertion des données dans la table temporaire (FicheDeFrais) !", 32, "Isis")
Me.Close()
End Try
Dim report As New DocumentFicheFrais
'report.SetDataSource(ds)
report.DataDefinition.FormulaFields("DateDeb").Text = "'" + MaskedTextBox1.Text + "'"
report.DataDefinition.FormulaFields("DateFin").Text = "'" + MaskedTextBox2.Text + "'"
report.DataDefinition.FormulaFields("UserName").Text = "'" + TextBox1.Text + "'"
report.DataDefinition.FormulaFields("Centre").Text = "'" + TextBox2.Text + "'"
Afficher_Etats.Show()
Afficher_Etats.CRV.ReportSource = report
End Sub |
- Comment activer des contrôles sur les saisies dans le datagridview :
j'ai fait une sorte de gestion des dataerror, toutefois y a t'il un moyen plus simple (plus propre) pour gérer ces saisies ?
Code:
1 2 3 4 5 6 7 8 9
| 'Gestion des erreurs du datagrid (format des cellules,envoie des données dans le rapport)
Private Sub DataGridView1_DataError(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
Select Case DataGridView1.Columns(e.ColumnIndex).DataPropertyName
Case "Date"
MessageBox.Show("Format error DATE")
Case "Parking", "Repas", "Hotel", "Divers"
MessageBox.Show("Format error DECIMAL")
End Select
End Sub |