Remplir DataGridView

Résolu
KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013 - 8 août 2008 à 10:56
KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013 - 8 août 2008 à 14:04
Bonjour à tous !

J'ai besoin d'aide. J'ai une application qui a deux forms (form2 et 3). Dans Form2 j'ai un dataGridView, que je remplis avec les données de form3 à partir d'un  clic sur bouton .
Mon problème c'est que je n'arrive pas à aller à la ligne suivante pour copier les nouvelles saisie sur form3 (Les nouvelles données prennent la place des précédantes dans Grid, finalement j'ai une seule ligne)

Voici le code sur Form2

Me.Controls.Add(MyDataGridView)MyDataGridView.ColumnCount = 7

With MyDataGridView
' .remWith(MyDataGridView).Name "MyDataGridView".Location
New Point(8, 8).Size New Size(500, 250).AutoSizeRowsMode DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders

.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single

.CellBorderStyle = DataGridViewCellBorderStyle.Single

.GridColor = Color.Black

.RowHeadersVisible =

False
'On donne le nom des colonnes.Columns(0).Name "Date".Columns(1).Name
"Especes".Columns(2).Name "Nombre".Columns(3).Name
"Latitude".Columns(4).Name "Longitude".Columns(5).Name

"PDOP".Columns(6).Name =

"Observateur"

.Columns(4).DefaultCellStyle.Font =
New Font(
Me.MyDataGridView.DefaultCellStyle.Font, FontStyle.Italic).SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect False.Dock DockStyle.Fill

End
With

'Création d'un tableau de 5 strings pour chaque ligne

Dim row0
As
String() = {Form3.lbl1.Text, Form3.lbl2.Text, Form3.lbl3.Text, Form3.lbl4.Text, Form3.lbl5.Text, Form3.lbl6.Text, Form3.lbl7.Text}

Me.MyDataGridView.Rows.Add(row0)

Merci pour votre aide !

_______________________________________________________________________________________________
" Celui qui croit savoir quelque chose ne l'a pas encore connue dans sa totalité "

5 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
8 août 2008 à 13:34
Une dataTable est simplement une varable :
Dim MaTable As new System.Data.DataTable() 'Tu peut aussi donnée un nom à ta table

Pour crée une ligne tu fait
Dim MaLigne As System.Data.DataRow

MaLigne = MaTable.Rows.NewRow

Ensuite tu rempli la ligne de données puis tu l'insert dans ta table :
MaTable.Rows.Add(MaLigne)

Pour ajouté encore une ligne il me semble qu'il faut re-faire
MaLigne = MaTable.Rows.NewRow
Mais j'ai un doute fait des tests

Amicalement
Pensez "Réponse acceptée"
3
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
8 août 2008 à 11:38
Bonjour ,

Je pense que le problème viens du faite que (à moin que je ne me trompe) tu execute l'ensemble de la procédure que tu à posté pour insérer une nouvelle ligne dans ton datagridview. (Perso je ferais plutôt une datatable et la placerais en temps que source de données de mon datagridview mais là c'est toi qui voie )

Je pense qu'il faudrais que tu fasse une procédure de config de ta datagridview et une autre y insérant des données. QSoit une truc du genre :
Public Sub MiseEnPageDataGridView()
Me.Controls.Add(MyDataGridView)MyDataGridView.ColumnCount = 7

With MyDataGridView' .remWith(MyDataGridView).Name "MyDataGridView".Location
New Point(8, 8).Size New Size(500, 250).AutoSizeRowsMode DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders

.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single

.CellBorderStyle = DataGridViewCellBorderStyle.Single

.GridColor = Color.Black
.RowHeadersVisible False'On donne le nom des colonnes.Columns(0).Name
"Date".Columns(1).Name "Especes".Columns(2).Name
"Nombre".Columns(3).Name "Latitude".Columns(4).Name
"Longitude".Columns(5).Name "PDOP".Columns(6).Name

"Observateur".Columns(4).DefaultCellStyle.Font =
New Font(
Me.MyDataGridView.DefaultCellStyle.Font, FontStyle.Italic).SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect False.Dock DockStyle.Fill

EndWith
End Sub

public sub InsertData()
Dim row0
AsString() = {Form3.lbl1.Text, Form3.lbl2.Text, Form3.lbl3.Text, Form3.lbl4.Text, Form3.lbl5.Text, Form3.lbl6.Text, Form3.lbl7.Text}
Me.MyDataGridView.Rows.Add(row0)

endsub

Si non en passant par une datatable tu à une procédure "newrow" (dans rows je crois) qui renvoie une datarow sue tu remplie puis ajoute avec Rows.Add

Bonne prog
Amicalement
Pensez "Réponse acceptée"
0
KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013
8 août 2008 à 11:52
Comment créer le datatable ?

" Celui qui croit savoir quelque chose ne l'a pas encore connue dans sa totalité "
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
8 août 2008 à 13:03
j'ai pas tout lu mais essaie  
datagridview.rows.add( machin, a, ajouter)

bonjour chez vous!
< body>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KIPRE74 Messages postés 120 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 21 novembre 2013
8 août 2008 à 14:04
Merci, je pense que c'est plus simple ainsi !

" Celui qui croit savoir quelque chose ne l'a pas encore connue dans sa totalité "
0
Rejoignez-nous