-
[C#] Dataset et DataGrid
Je ne comprends pas certaines choses.
J'ai un dataset ds_gen
J'ai un DataGrid dgrGen qui est lié à un SELECT de mon dataset.
Ok les données s'affichent, tout va bien.
Or quand je quitte la forme,
private void frmParquet_FormClosed(object sender, FormClosedEventArgs e)
{
ds_gen.Clear();
dgrGen.Refresh();
}
Quand je rappelle la forme, il y a toujours des données dans mon dgrGen.
Quand je teste sur un bouton, ça marche, il affiche le datagrid vide. Il y a les colonnes mais pas de données.
private void button1_Click(object sender, EventArgs e)
{
ds_gen.Clear();
dgrGen.Refresh();
}
Le but est de n'afficher aucune données quand j'appelle la forme.
Je ne comprends pas pourquoi c'est différent dans les 2 cas.
Merci d'avance.
-
A priori si tu as des donées c'est qu'au moment de lire la form, tu effectue le select qui rempli le dataset? Si le dataset est lié au datagrid, alors les données eront affichées c'est logique.
Mainetant, le fait de supprimer des lignes des ton datagrid peut les supprimer du dataset, mais pas de la base. Pour cela, il faut repercuter la modification apportée au dataset à la base de donnée ( car le dataset est une copie d'une partie de la base, pas un objet constament synchronisé ).
Donc il faut passer par l'update pour que les lignes supprimées du dataset le soient également de la base.
D'autr epart ( ca parait évident mais je le précise tout de meme) : pour que l'update fonctionne, il faut que les lignes effacées du datagrid le soit également dans le dataset ( je crois qu'elles sont marquées pour deletion pas physiquement supprimées) . Pour vérifier que cela se passe correctement, tu vas voire la valeur de ta datatable dans le dataset en debug et tu vérifies grace au pas a pas que ca fonctionne
en esperant que ca puisse t'aider?
Morgan
-
à quel moment veux tu afficher les données? à mon avis tu devrais faire ton binding dans le code de l'événement qui précède l'affichage des données.