Problème avec DatagridView
Bonjour,
J'ai un problème d'affichage de mon DataGridview : j'ai un DataTable quand il n'est pas null, je l'ajoute comme datasource à mon grid et j'ajoute à ce dernier des colonnes avec le code. Le problème quand le DataTable est null je voudrais effacer tous les champs et tous les enregistrements sont effacés. Aussi quand je charge de nouveau mon grid je ne veux pas qu'il y a des doublons dans les champs que j'ai créés, parce que le code que j'ai développé qui permet d'alimenter mon grid ajoue à chaque appel des nouveaux champs :
Code:
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
|
DataTable dt = getMessageUser(globalIDCLient);
//MessageBox.Show(dt.Rows.Count.ToString());
if (dataGridViewMessageEcrit.Columns.Count != 0)
{
dataGridViewMessageEcrit.ClearSelection();
dataGridViewMessageEcrit.Columns.Remove("Visualiser");
dataGridViewMessageEcrit.Columns.Remove("Supprimer");
dataGridViewMessageEcrit.Columns.Remove("Modifier");
}
if (dt != null)
{
dataGridViewMessageEcrit.DataSource = dt;
dataGridViewMessageEcrit.AutoGenerateColumns = true;
dataGridViewMessageEcrit.Columns["idmessage"].Visible = false;
dataGridViewMessageEcrit.Columns["idlogin"].Visible = false;
dataGridViewMessageEcrit.Columns["contenu"].Visible = false;
dataGridViewMessageEcrit.Columns["idforum"].HeaderText = "Forum";
dataGridViewMessageEcrit.Columns["datecreation"].HeaderText = "Date de création";
dataGridViewMessageEcrit.Columns["sujet"].HeaderText = "Sujet";
DataGridViewImageColumn visualiser = new DataGridViewImageColumn();
visualiser.Image = Bitmap.FromFile(@"C:\Documents and Settings\ZEMZEMI\Mes documents\Visual Studio 2008\Projects\ClientForum\ClientForum\Images\miniloupe.gif");
visualiser.DisplayIndex = 5;
visualiser.Width = visualiser.Image.Width + 20;
visualiser.Name = "Visualiser";
//visualiser.HeaderText = "Visualiser";
dataGridViewMessageEcrit.Columns.Add(visualiser);
DataGridViewImageColumn modifier = new DataGridViewImageColumn();
modifier.Image = Bitmap.FromFile(@"C:\Documents and Settings\ZEMZEMI\Mes documents\Visual Studio 2008\Projects\ClientForum\ClientForum\Images\EDITITEM.GIF");
modifier.DisplayIndex = 6;
modifier.Width = modifier.Image.Width + 20;
modifier.Name = "Modifier";
//modifier.HeaderText = "Modifier";
dataGridViewMessageEcrit.Columns.Add(modifier);
DataGridViewImageColumn supprimer = new DataGridViewImageColumn();
supprimer.Image = Bitmap.FromFile(@"C:\Documents and Settings\ZEMZEMI\Mes documents\Visual Studio 2008\Projects\ClientForum\ClientForum\Images\DELITEM.GIF");
supprimer.DisplayIndex = 7;
supprimer.Width = supprimer.Image.Width + 20;
//supprimer.ToolTipText = "Supprimer";
supprimer.Name = "Supprimer";
//supprimer.HeaderText = "Supprimer";
dataGridViewMessageEcrit.Columns.Add(supprimer);
}
else
{
dataGridViewMessageEcrit = null;//Ici je veux que le grid n'affiche rien
} |
Merci pour votre aide