Datagridview

Signaler
Messages postés
3
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
24 février 2010
-
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011
-
Bonjour à toutes et à tous,
je suis nouveau sur le forum et aussi débutant en C# et MySQL. Jai une base de données en MySQL et dans celle ci j ai un tableau regroupant les personnes autorisées à accéder à la base (ceci regroupe les noms, prenoms, pseudo, mot de passe, statut). Je code en C# le logiciel qui permettra de se connecter à la base de données et à y consulter ce qui se trouve dedans. Mon probleme est le suivant j'aimerai afficher les informations des personnes autorisées que contient la base de données dans une datagridview.
Toute aide sera la bienvenue.
Merci à l avance.

christophe

5 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
Mon probleme est le suivant j'aimerai afficher les informations des personnes autorisées que contient la base de données dans une datagridview.

Je ne vois pas en quoi c'est un problème de vouloir afficher des informations dans un DGV, c'est ce que tu cherches à faire.

Où bloques-tu exactement ? Peux-tu nous montrer le bout de ton code qui pose problème ?

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
3
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
24 février 2010

Bonjour,
c'est vrai que je me suis mal exprimé, désolé. En réalité mon problème est que je ne sais pas quoi mettre comme code.

Voici mon debut de code:

private void tableauPersonnesAuthoriseesToolStripMenuItem_Click(object sender, EventArgs e)
{
string result8 = "";
try
{
mc = new MySqlConnection(connexion);
mc.Open();
string command = "select nom as nom, prenom as prenom , pseudo as pseudo from utilisateurs";
MySqlCommand c1 = new MySqlCommand(command, mc);
c1.ExecuteNonQuery();
MySqlDataReader data = c1.ExecuteReader();
while (data.Read())
{
result8 = data.GetString(0);
}
mc.Close();
}
catch (Exception)
{ }
}
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

Salut,

Ce que je te conseille c'est dans le design de prendre l'outil datagridview et tu lui attache une source de données et tu lui spécifie la requête que tu veut.

et voila comment remplir un datagrid manuellement :
int i = 0;
while (data.Read())
{ //dgvclt = DataGridView
   dgvclt.Rows.Add();

   dgvclt.Item(0, i).Value = oRdr.GetValue(0);

   dgvclt.Item(1, i).Value = oRdr.GetValue(1);

   dgvclt.Item(2, i).Value = oRdr.GetValue(2);

   dgvclt.Item(3, i).Value = oRdr.GetValue(3);

   dgvclt.Item(4, i).Value = oRdr.GetValue(4);

   i++;
}


En éspèrent t'avoir aider!!

Bon dev
Messages postés
3
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
24 février 2010

Salut,
merci de me consacrer un peu de ton temps pour m aider.
Je ne comprend pas ce qu'est "oRdr". Quand tu dis "et voila comment remplir un datagrid manuellement", qu'est ce que tu veux dire par la. Car moi je voudrai que mes informations présentent dans ma base soit visibles directement dans le datagridview, je ne veux pas les rentrer a la main.
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

Je te transmets un code complet de création de colonnes dynamique avec insertion des données à l'intérieur du datagrid et l'evenement CellContentClick du datagridView :(Cette méthode peut-être appelé n'importe quand).
private void Remplissage()
{
//Nettoyage des colonnes du datagrid
eMPLACEMENTDataGridView.Columns.Clear();

//declaration des variables
SqlCommand CBB;
SqlCommand DGV;
SqlDataReader Rdr = null;
SqlDataReader Rdr2 = null;
int i = 0;

//Requete nécessaire au remplissage du dataGridView
string Requête = "SELECT     E.LibelEmplacement,E.Codemplacement,T.LibelTheme, B.LIBELBIBLIOTHEQUE" +
" FROM Emplacement as E ,BIBLIOTHEQUE as B , Theme as T where E.CODBIBLIOTHEQUE = B.CODBIBLIOTHEQUE " +
  "and E.Codtheme T.Codtheme and B.LIBELBIBLIOTHEQUE '" + biblioth + "'";

//Création dynamiques des colones du DataGridView
eMPLACEMENTDataGridView.Columns.Add("libelBibliotheque", "Nom de la bibliotheque");
eMPLACEMENTDataGridView.Columns.Add("libelemplacement", "Nom de l'emplacement");
eMPLACEMENTDataGridView.Columns.Add("libeltheme", "Theme");
eMPLACEMENTDataGridView.Columns.Add("Codemplacement", "Code de l'emplacement");

try
{
//DataGridView 
DGV = new SqlCommand();
DGV.Connection = Bibliothéque.Connect.sqlConnect;

DGV.CommandType = CommandType.Text;
DGV.CommandText = Requête;

Rdr2 = DGV.ExecuteReader();
while (Rdr2.Read())
{//Mettre RowCount++ pour mettre l'index à 0 sinon il egal -1 donc bug!!!
eMPLACEMENTDataGridView.RowCount++; 
eMPLACEMENTDataGridView[0, i].Value = Rdr2[3];
eMPLACEMENTDataGridView[1, i].Value = Rdr2[0];
eMPLACEMENTDataGridView[2, i].Value = Rdr2[2];
eMPLACEMENTDataGridView[3, i].Value = Rdr2[1];
i++;
}

}
catch (Exception ce)
{
MessageBox.Show(ce.Message);

}
finally { Rdr2.Close(); }
} 
#endregion

//évenement CellContentClick sur DataGridView pour remplissage TextBox
private void eMPLACEMENTDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
textBib.Text = eMPLACEMENTDataGridView[0, e.RowIndex].Value.ToString();
textEmpl.Text = eMPLACEMENTDataGridView[3, e.RowIndex].Value.ToString();
textTheme.Text = eMPLACEMENTDataGridView[2, e.RowIndex].Value.ToString();
textNomEmpl.Text = eMPLACEMENTDataGridView[1, e.RowIndex].Value.ToString();
comboTheme.Text = eMPLACEMENTDataGridView[2, e.RowIndex].Value.ToString();

}


si tu as un soucis de compréhension n'hésite pas...

Bon dev