Afficher un datatable dans un textbox

salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011 - 9 mai 2011 à 16:24
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 - 23 mai 2011 à 09:34
j'ai entrain créer une application windows avec microsoft visuel studio et language c#
aprés avoir faire la connection odbc mysql et la création de dataset ,j'ai créeé un datatable qui contient la requéte select qui sélectionner les informations nécissaires.
je ne trouve pas comment afficher les données contenut dans la datatable.
aidez moi SVP.
merci

18 réponses

smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
9 mai 2011 à 16:46
Un dataset/datatable implique plusieurs lignes ou colonnes, donc un petit textbox ne conviendra pas.

Tu peux soit utiliser un DataGridView (t'initialises les colonne, et tu fais dtg.DataSource = dt; et t'as tout rempli) si tu veux visualiser le contenu de la table. N'aie pas peur de ce composant, même s'il ne fait pas ce que tu veux, tu as énormément de propriétés que tu peux régler.

Sinon si c'est pour sélectionner une valeur d'une colonne tu peux utiliser des ComboBox. tu affectes cb.DataSource au résultat de ta requête et avec les propriétés suivantes tu spécifies la colonne affichée, et celle utilisée pour le traitement, bien que tu puisses accéder aux deux par la suite.

cb.DataSource = ds.Tables["TOURNOI"];
cb.DisplayMember = "NOM_TOURNOI";
cb.ValueMember = "CODE_TOURNOI";

Mais avec plus de détail sur ce que tu veux faire, on pourrait mieux t'aider.
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
10 mai 2011 à 12:57
merci smathis pour ton aide .
j'ai pas pratiqué la lanquage c# d'avance aussi que l'environnement visuel studio,alors si tu peuw aides moi dans le code .
j'ai déja créer une dataset (data) et j'ai l'ajoute une datatable(DataTable1) et dataadapter(DataTable1DataAdapter),ce dernier a 2 méthode fill()et getdata().le datatable contient une table host qui j'ai extrairé de la base de données (connexion odbc mysql).
je veux afficher le contenut de la datatable dans une datagrid(comment je créera et ou j écrit le code).
merci d'avance
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
10 mai 2011 à 13:41
Voila un exemple d'une appli que j'ai faite. De la requête au datagridview, tout y est.
Désolé pour les numero de ligne, je vais pas m’embêter à les enlever !

string[] colonnes_dt = { "Code joueur", "Nom", "Prénom", "Club", "Ligue", "Classement", "Pays", "Nombre de matchs" };
230	            dt = new DataTable();
//On ajoute les colonnes au DataTable
231	            foreach (string l in colonnes_dt)
232	            { dt.Columns.Add(l); }
233	
234	            // Remplissement du datatable avec les informations de la BDD
235	            connec = new OleDbConnection(chaine_connexion);
//Pas besoin de lire la requete
236	            requete "Select j.CODE_JOUEUR, j.NOM_JOUEUR, j.PRENOM_JOUEUR, p.NOM_PAYS, c.NOM_CLUB, l.NOM_LIGUE, a.LIB_CLASSEMENT, j.NB_MATCH from JOUEUR j, CLUB c, PAYS p, CLASSEMENT a, LIGUE l where l.CODE_LIGUE c.CODE_LIGUE and a.CODE_CLASSEMENT = j.CODE_CLASSEMENT and p.CODE_PAYS = j.CODE_PAYS and c.CODE_CLUB = j.CODE_CLUB order by j.NOM_JOUEUR";
//On recupere les info avec le dataAdapter
237	            da = new OleDbDataAdapter(requete, connec);
238	            ds = new DataSet();
//On ajoute les données dans le dataset
239	            da.Fill(ds, "JOUEUR");
//La on copie le dataset vers la datatable
240	            for (i = 0; i < ds.Tables["JOUEUR"].Rows.Count; i++)
241	            {
//Permet de recupérer la structure des colonnes du datatable déclaré au debut.
242	                ligne = dt.NewRow();
//On ajoute colonne par colonne
243	                ligne[0] = ds.Tables["JOUEUR"].Rows[i][0].ToString(); // Code joueur
244	                ligne[1] = ds.Tables["JOUEUR"].Rows[i][1].ToString(); // Nom
245	                ligne[2] = ds.Tables["JOUEUR"].Rows[i][2].ToString(); // Prénom
246	                ligne[3] = ds.Tables["JOUEUR"].Rows[i][4].ToString(); // Club
247	                ligne[4] = ds.Tables["JOUEUR"].Rows[i][5].ToString(); // Ligue
248	                ligne[5] = ds.Tables["JOUEUR"].Rows[i][6].ToString(); // Classement
249	                ligne[6] = ds.Tables["JOUEUR"].Rows[i][3].ToString(); // Pays
250	                ligne[7] = ds.Tables["JOUEUR"].Rows[i][7].ToString(); // Nb_match
//On ajoute la ligne au datatable
251	                dt.Rows.Add(ligne);
252	            }
//On affecte la datatable au datagridview
253	            dgv_tableau_joueur.DataSource = dt;


Et t'auras tout ce que tu veux affiché à l’écran, d'une façon très moche.

Voila une liste de propriétés que j'avais changé pour un affichage plus simple (si c'est juste de la consultation d'info, pas de maj de données directement par le daatagridview)

254	            dgv_tableau_joueur.ReadOnly = true;
255	            dgv_tableau_joueur.AllowUserToAddRows = false;
256	            dgv_tableau_joueur.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
257	            dgv_tableau_joueur.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
258	            dgv_tableau_joueur.RowHeadersVisible = false;
259	            dgv_tableau_joueur.MultiSelect = false;
260	            dgv_tableau_joueur.BorderStyle = System.Windows.Forms.BorderStyle.None;
261	            dgv_tableau_joueur.AllowUserToResizeRows = false;
262	            dgv_tableau_joueur.AllowUserToResizeColumns = false;
263	            dgv_tableau_joueur.AllowUserToDeleteRows = false;
264	            dgv_tableau_joueur.Columns[0].Visible = false;
265	            dgv_tableau_joueur.DefaultCellStyle.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
266	            dgv_tableau_joueur.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
10 mai 2011 à 13:46
Tu vois que il y a une ligne pour ajouter les données au dtg... Mais il faut passer par un dataadapter, dataset, datarow, datatable.

On ne le voit pas dans le code, mes variables sont toutes déclarés au début, mais la variable ligne est un DataRow. Il ne faut pas faire dr = new DataRow(); mais dt.NewRow();
Le reste des variables est assez explicite avec le nom.

Attention à dgv_tableau_joueur.Columns[0].Visible = false, ça cache la colonne 0, mais c'est pratique pour stocker les clefs primaires dans le dgv discrètement pour les futurs traitement.
0

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

Posez votre question
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
10 mai 2011 à 17:32
Salut,
tu peux également le faire de manière plus simple sans passer par les datables:
           string[] colonnes_dt = { "Code joueur", "Nom", "Prénom", "Club", "Ligue", "Classement", "Pays", "Nombre de matchs" };

            connec = new OleDbConnection(chaine_connexion);

            requete "Select j.CODE_JOUEUR, j.NOM_JOUEUR, j.PRENOM_JOUEUR, p.NOM_PAYS, c.NOM_CLUB, l.NOM_LIGUE, a.LIB_CLASSEMENT, j.NB_MATCH from JOUEUR j, CLUB c, PAYS p, CLASSEMENT a, LIGUE l where l.CODE_LIGUE c.CODE_LIGUE and a.CODE_CLASSEMENT = j.CODE_CLASSEMENT and p.CODE_PAYS = j.CODE_PAYS and c.CODE_CLUB = j.CODE_CLUB order by j.NOM_JOUEUR";

//On recupere les info avec le dataAdapter
            da = new OleDbDataAdapter(requete, connec);
            ds = new DataSet();

try
{
//on ouvre la connexion
                      connec.Open();
//On remplie le dataset
            da.Fill(ds, "JOUEUR");

//Affichage dans la dgv
            dgv_tableau_joueur.DataMember = "JOUEUR";
            dgv_tableau_joueur.DataSource = dts.Tables["JOUEUR"]; 
}
catch (Exception ex)
{
 ex.Message;
}
finally 
{
//on referme la connexion                    
                       connec.Close();
}


Bonne continuation
Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
11 mai 2011 à 00:08
merci smathis pour votre aide,mais j'ai une question bête ou j' écrit ce code.
je suis vraiment désolé .
merci
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
11 mai 2011 à 09:46
Au chargement de la page si tu veux que ton tableau soit affiché d'office.
donc l’événement onLoad de la page.
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
13 mai 2011 à 12:32
bonjour smatis,
merci bien pour ton aide.
je veux savoir dans l'exemple qui tu m'avait donner la déclaration de variable ligne car je ne sais pas la valeur retourner de dt.NewRow();
erreur affiché
Le nom 'ligne' n'existe pas dans le contexte actuel
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
13 mai 2011 à 13:26
Je me cite :
mais la variable ligne est un DataRow
.

Donc c'est un
DataRow dr; 
dr =  dt.NewRox();


Je me répète : n'utilise pas dr = new DataRow();. Le datarow a besoin d'avoir la même structure que la table (le même nombre de colonnes) d'où le dt.NewRox();
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
13 mai 2011 à 13:28
J'ai écris "dr", mais dans l’exemple je l'ai appelée "ligne" ;)
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
14 mai 2011 à 11:32
je veux savoir s'il te plait comment t' a fait la déclaration de "dr" au début est ce que je veux déclaré comme tableau et les éléments sont de type
string ou comment??
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
16 mai 2011 à 09:49
Simplement DataRow dr;

Je te file le code en entier, là tu auras vraiment tout, même des choses inutiles.
A la fin des options sur le datagridview, c'est un moyen d'avoir une ligne sur deux en couleur.
Les fonctions comme Preparation_lbl ou pour les combobox c'est juste des fonctions qui affecte la position, texte, etc.
Les évènements à la fin t'es pas obligé de regarder

953	        private void Visualisation_de_la_liste_des_tournois_click(object sender, EventArgs e)
954	        {
955	            Vider_groupbox(sender, e);
956	            //Variables :
957	            OleDbCommand cde;
958	            OleDbConnection conn,connec;
959	            int x, y,i;
960	            IEnumerable<string> sansDoublon;
961	            List<String> list_valeur;
962	            DataRow ligne,ligne_nouveau;
963	            DataTable dt, dt_nouveau;
964	            OleDbDataAdapter da;
965	            DataSet ds;
966	            string requete;
967	            //string[] colonnes_dt;
968	            //Elements graphique:
969	            Button btn_ajout_tournoi,btn_modif_tournoi,btn_visu_tournoi,btn_supr_tournoi;
970	            ComboBox cb_critere, cb_valeur;
971	
972	            conn = new OleDbConnection(chaine_connexion);
973	            cde = new OleDbCommand();
974	            cde.Connection = conn;
975	            cde.CommandType = CommandType.Text;
976	            conn.Open();
977	            // Création des boutons
978	            x groupbox.Width - 150;y 40;
979	            btn_ajout_tournoi = Creation_button(x, y, "Ajouter un tournoi", 145, 25);
980	            btn_ajout_tournoi.Click += new EventHandler(ajouterUnTournoiToolStripMenuItem_Click);
981	            btn_ajout_tournoi.Image = TennisRefereeManager.Properties.Resources.ajouter;
982	            btn_ajout_tournoi.ImageAlign = ContentAlignment.MiddleLeft;
983	            btn_ajout_tournoi.TextAlign = ContentAlignment.MiddleRight;
984	            y = y + 30;
985	            btn_modif_tournoi = Creation_button(x, y, "Modifier un tournoi", 145, 25);
986	            btn_modif_tournoi.Enabled = false;
987	            btn_modif_tournoi.Image = TennisRefereeManager.Properties.Resources.modifier;
988	            btn_modif_tournoi.ImageAlign = ContentAlignment.MiddleLeft;
989	            btn_modif_tournoi.TextAlign = ContentAlignment.MiddleRight;
990	            btn_modif_tournoi.Click += new EventHandler(modifierUnTournoiToolStripMenuItem_Click_1);
991	            y = y + 30;
992	            btn_supr_tournoi = Creation_button(x, y, "Supprimer un tournoi", 145, 25);
993	            btn_supr_tournoi.Enabled = false;
994	            btn_supr_tournoi.Image = TennisRefereeManager.Properties.Resources.supprimer;
995	            btn_supr_tournoi.ImageAlign = ContentAlignment.MiddleLeft;
996	            btn_supr_tournoi.TextAlign = ContentAlignment.MiddleRight;
997	            btn_supr_tournoi.Click += new EventHandler(supprimerUnTournoiToolStripMenuItem_Click);
998	            y = y + 30;
999	            btn_visu_tournoi = Creation_button(x, y, "Consulter un tournoi", 145, 25);
1000	            btn_visu_tournoi.Enabled = false;
1001	            btn_visu_tournoi.Image = TennisRefereeManager.Properties.Resources.consulter;
1002	            btn_visu_tournoi.ImageAlign = ContentAlignment.MiddleLeft;
1003	            btn_visu_tournoi.TextAlign = ContentAlignment.MiddleRight;
1004	            btn_visu_tournoi.Click += new EventHandler(consulterUnTournoiToolStripMenuItem_Click);
1005	
1006	            Preparation_lbl(sender, e, "lbl_critere", 10, 18, "Recherche :", 70, 13, groupbox, 1);
1007	            cb_critere = new ComboBox(); Preparation_cb_simple(sender, e, cb_critere, "cb_critere", 85, 15, groupbox, 100, 20, "Critère de recherche");
1008	            cb_critere.Items.AddRange(new string[] {"Tous", "Nom du tournoi","Date de début","Juge arbitre","Catégorie"});
1009	            cb_critere.DropDownStyle = ComboBoxStyle.DropDownList;
1010	            cb_critere.SelectedIndex = 0;
1011	            cb_valeur = new ComboBox(); Preparation_cb_simple(sender, e, cb_valeur, "cb_valeur", 190, 15, groupbox, 200, 20, "Valeurs possibles");
1012	            cb_valeur.Visible = false;
1013	            cb_valeur.DropDownStyle = ComboBoxStyle.DropDownList;
1014	           
1015	            // Création du datagridview et du datatable
1016	            dgv_tableau_tournoi = new DataGridView();
1017	            dgv_tableau_tournoi.Location = new Point(10, 40);
1018	            dgv_tableau_tournoi.Size = new Size((groupbox.Width - 170), (groupbox.Height - 50));
1019	            groupbox.Controls.Add(dgv_tableau_tournoi);
1020	            string[] colonnes_dt = {"Code tournoi","Nom du tournoi","Date de début","Nb chaises","Nb jours JDL","Juge arbitre","Catégorie" };
1021	            dt = new DataTable();
1022	            foreach (string l in colonnes_dt)
1023	            { dt.Columns.Add(l); }
1024	
1025	            // Remplissement du datatable avec les informations de la BDD
1026	            connec = new OleDbConnection(chaine_connexion);
1027	            connec.Open();
1028	            requete = @"SELECT t.CODE_TOURNOI,t.NOM_TOURNOI, t.DATE_TOURNOI, j.PRENOM_JUGE + ' ' + j.NOM_JUGE, c.LIBELLE_CAT, t.NB_JUGE_LIGNE
1029	                               FROM TOURNOI t, CAT c, JUGE_ARBITRE j
1030	                               WHERE t.CODE_CAT = c.CODE_CAT
1031	                               AND t.CODE_JUGE = j.CODE_JUGE";
1032	            da = new OleDbDataAdapter(requete, connec);
1033	            ds = new DataSet();
1034	
1035	            da.Fill(ds, "TOURNOI");
1036	            for (i = 0; i < ds.Tables["TOURNOI"].Rows.Count; i++)
1037	            {
1038	                ligne = dt.NewRow();
1039	                ligne[0] = ds.Tables["TOURNOI"].Rows[i][0].ToString(); // Code tournoi
1040	                ligne[1] = ds.Tables["TOURNOI"].Rows[i][1].ToString(); // Nom tournoi
1041	                ligne[2] = ds.Tables["TOURNOI"].Rows[i][2].ToString().Substring(0, 10); // Date tournoi
1042	                // Nb chaises
1043	                cde.CommandText "select count(*) from [MATCH] where CODE_TOURNOI " + ds.Tables["TOURNOI"].Rows[i][0].ToString();
1044	                try {ligne[3] = ""+(int)cde.ExecuteScalar();}
1045	                catch (Exception) { ligne[3] = 0; }
1046	                ligne[4] = ds.Tables["TOURNOI"].Rows[i][5].ToString(); // Nb lignes
1047	                ligne[5] = ds.Tables["TOURNOI"].Rows[i][3].ToString(); // Juge arbitre
1048	                ligne[6] = ds.Tables["TOURNOI"].Rows[i][4].ToString(); // Catégorie
1049	                dt.Rows.Add(ligne);
1050	            }
1051	            connec.Close();
1052	            dgv_tableau_tournoi.DataSource = dt;
1053	            dgv_tableau_tournoi.ReadOnly = true;
1054	            dgv_tableau_tournoi.AllowUserToAddRows = false;
1055	            dgv_tableau_tournoi.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
1056	            dgv_tableau_tournoi.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
1057	            dgv_tableau_tournoi.RowHeadersVisible = false;
1058	            dgv_tableau_tournoi.MultiSelect = false;
1059	            dgv_tableau_tournoi.BorderStyle = System.Windows.Forms.BorderStyle.None;
1060	            dgv_tableau_tournoi.AllowUserToResizeRows = false;
1061	            dgv_tableau_tournoi.AllowUserToResizeColumns = false;
1062	            dgv_tableau_tournoi.AllowUserToDeleteRows = false;
1063	            dgv_tableau_tournoi.Columns[0].Visible = false;
1064	            dgv_tableau_tournoi.DefaultCellStyle.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
1065	            dgv_tableau_tournoi.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
1066	            dgv_tableau_tournoi.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
1067	            // Style du RowsDefaultCellStyle
1068	            DataGridViewCellStyle dgv_match_style_1 = new DataGridViewCellStyle();
1069	            dgv_match_style_1.SelectionBackColor = Color.FromArgb(((int)(((byte)(113)))), ((int)(((byte)(163)))), ((int)(((byte)(255)))));
1070	            dgv_tableau_tournoi.RowsDefaultCellStyle = dgv_match_style_1;
1071	            // Style du AlternatingRowsDefaultCellStyle
1072	            DataGridViewCellStyle dgv_match_style_2 = new DataGridViewCellStyle();
1073	            dgv_match_style_2.BackColor = Color.FromArgb(((int)(((byte)(188)))), ((int)(((byte)(255)))), ((int)(((byte)(190)))));
1074	            dgv_match_style_2.SelectionBackColor = Color.FromArgb(((int)(((byte)(113)))), ((int)(((byte)(163)))), ((int)(((byte)(255)))));
1075	            dgv_tableau_tournoi.AlternatingRowsDefaultCellStyle = dgv_match_style_2;
1076	            // Fond du datagridview
1077	            dgv_tableau_tournoi.BackgroundColor = Color.FromArgb(((int)(((byte)(104)))), ((int)(((byte)(118)))), ((int)(((byte)(129)))));
1078	
1079	            dgv_tableau_tournoi.CurrentCellChanged += delegate
1080	            {
1081	                btn_modif_tournoi.Enabled = true;
1082	                btn_supr_tournoi.Enabled = true;
1083	                btn_visu_tournoi.Enabled = true;
1084	                modifierUnTournoiToolStripMenuItem.Enabled = true;
1085	                supprimerUnTournoiToolStripMenuItem.Enabled = true;
1086	                consulterUnTournoiToolStripMenuItem.Enabled = true;
1087	                try
1088	                {
1089	                    code_tournoi_selec = int.Parse(dgv_tableau_tournoi.SelectedRows[0].Cells[0].Value.ToString());
1090	                }
1091	                catch (Exception)
1092	                { }
1093	            };
1094	
1095	            dgv_tableau_tournoi.CellDoubleClick += new DataGridViewCellEventHandler(consulterUnTournoiToolStripMenuItem_Click);
1096	
1097	            dgv_tableau_tournoi.Disposed += delegate
1098	            {
1099	                modifierUnTournoiToolStripMenuItem.Enabled = false;
1100	                supprimerUnTournoiToolStripMenuItem.Enabled = false;
1101	                consulterUnTournoiToolStripMenuItem.Enabled = false;
1102	            };
1103	            cb_critere.SelectedIndexChanged += delegate
1104	            {
1105	                list_valeur = new List<string>();
1106	                if (cb_critere.Text != "Tous")
1107	                {
1108	                    dgv_tableau_tournoi.DataSource = dt;
1109	                    cb_valeur.Visible = true;
1110	                    list_valeur.Add("Tous");
1111	                    for (i = 0; i < dt.Rows.Count; i++)
1112	                    {
1113	                        list_valeur.Add(dt.Rows[i][cb_critere.Text].ToString());
1114	                    }
1115	                    sansDoublon = list_valeur.Distinct();
1116	                    cb_valeur.DataSource = sansDoublon.ToList<String>(); ;
1117	                }
1118	                else {
1119	                    cb_valeur.Visible = false;
1120	                    dgv_tableau_tournoi.DataSource = dt;
1121	                    }
1122	            };
1123	
1124	            cb_valeur.SelectedIndexChanged += delegate 
1125	            {
1126	                if (cb_valeur.Text == "Tous")
1127	                { dgv_tableau_tournoi.DataSource = dt; }
1128	                else
1129	                {
1130	                    dt_nouveau = new DataTable();
1131	                    foreach (string l in colonnes_dt)
1132	                    { dt_nouveau.Columns.Add(l); }
1133	                    for (i = 0; i < dt.Rows.Count; i++)
1134	                    {
1135	                        if (dt.Rows[i][cb_critere.Text].ToString() == cb_valeur.Text)
1136	                        {
1137	                            ligne_nouveau = dt_nouveau.NewRow();
1138	                            for (int j = 0; j < 7; j++)
1139	                            { ligne_nouveau[j] = dt.Rows[i][j].ToString(); }
1140	                            dt_nouveau.Rows.Add(ligne_nouveau);
1141	                        }
1142	                    }
1143	                    dgv_tableau_tournoi.DataSource = dt_nouveau;
1144	                }
1145	            };
1146	            if (page == 't')
1147	            {
1148	                consulterUnTournoiToolStripMenuItem_Click(sender, e);
1149	            }
1150	            index_ligne_dgv = -1;
1151	        }
1152	
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
16 mai 2011 à 15:52
merci smathis pour ton aide.
j'ai essayer avec ton code mais j'ai pas réussi .
je suis un étudiant en 3 éme année administration réseaux informatiques et je ne suis pas bien en programmation.je suis entrain de faire mon projet fin d’étude et j'ai un peut de développements.
j'ai fait un Windows form avec visuel studio qui contient 5 champs 3commbox (host,facility,program)et 2 TEXTBOX(date1,date2).
l'utilisateur va choisir le ou les champs selon lesquelles on va faire une requête select;
j'ai 2 problèmes
1/boucle if(j'ai plusieurs conditions à vérifier j'ai fait 2seulement,
2/selon les condition je veux afficher une datagridview qui contient tous les logs;
JE TE DONNERA LE CODE
private void button1_Click(object sender, EventArgs e)
{

DataGridView dataGridView1 = new DataGridView();

string requete = "";

bool host1 comboBox1.Text "";

bool facility1 comboBox2.Text "";
bool program1 comboBox4.Text "";
bool date1 textBox1.Text "";
bool date2 textBox2.Text "";






if ((date1 false) && (date2 false)&&(host1 == false)&&(facility1 == false))
{
string req4 "SELECT host, facility, priority, `level`, tag, datetime, program, msg, seq FROM logs WHERE (host '" + comboBox1.Text + "')AND (facility = '" + comboBox2.Text + "')AND (program='" + comboBox4.Text + "')AND (datetime BETWEEN '" + textBox1.Text + "' AND '" + textBox2.Text + "');";//si tous les champs sont non vides
requete = req4;

}

else
{
Form1 f = new Form1();
f.Show();//SI LES CHAMPS SONT VIDES.FORM1 CONTIENT UNE DATAGRIDVIEW QUI AFFICHE TOUS LES INFORMATION CONTENT DANs LA TABLE LOGS DE LA BASE DE DONNÉES
}

je suis très besoin à ton aide
merci d'avance
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
16 mai 2011 à 16:02
J'ai pas bien compris tes questions là ^^
T'as où une erreur ou qu'est-ce que tu veux faire ? C'est pour afficher les infos de la base de données le problème ?
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
20 mai 2011 à 00:15
salut smathis merci bien pour votre aide ,
voila le code que je l écrit mais c'est pas mais il n'y a pas de connexion et affichage de données.
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
string chaine_connexion = "Dsn";

connec = new OdbcConnection(chaine_connexion);

connec.Open();
DataTable6 = new DataTable();
string[] colonnes_DataTable6 = { "host", "facility", "priority", "level", "tag", "datetime", "program", "message", "sequence" };

foreach (string l in colonnes_DataTable6)
{
DataTable6.Columns.Add(l);
}



string requete="";
string where = "";
int vide = 0;
if (includehost.Checked == true)
{ string tmp = "";
tmp = comboBox1.Text;
where ="(host = '" + tmp+"')";
vide = 1;
}
if( includfacility.Checked == true)
{
string tmp = "";
tmp = comboBox2.Text;
if (vide == 0)
{
where "(facility '" + tmp + "')";
vide = 1;
}
else
{
where = where + "AND( facility='" + tmp + "')";

vide = 1;
}
}
if (includdate.Checked==true)

{
string tmp = "";
tmp = "(datetime BETWEEN '" + textBox1.Text + "' AND '" + textBox2.Text + "')";
if (vide == 0)
{
where = tmp;
vide = 1;
}
else
where = where +"AND(datetime='"+ tmp+"')";

vide = 1;
}
if((execludhost.Checked==true)&&(execludfacility.Checked==true)&&(execluddate.Checked==true))
{


Form1 f = new Form1();
f.Show();
}
requete = "SELECT host, facility, priority, `level`, tag, datetime, program, msg, seq FROM logs WHERE " + where + ";";


DataTable6TableAdapter = new OdbcDataAdapter(requete, connec);
DataSet syslogDataSet = new DataSet();

this.dataTable6TableAdapter.Fill(this.syslogDataSet.DataTable6);

dataGridView1.DataSource = DataTable6;







}




includedate,includfacilityt,includehost execludedate,execludefacility,execludehost sont des radiobutton
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
20 mai 2011 à 09:20
DataTable6TableAdapter = new OdbcDataAdapter(requete, connec);
DataSet syslogDataSet = new DataSet();

this.dataTable6TableAdapter.Fill(this.syslogDataSet.DataTable6);

dataGridView1.DataSource = DataTable6;

Première ligne c'est quoi le type ?
Sur le .Fill il ne faut pas aussi donner un nom pour la table ?
da.Fill(ds, "JOUEUR"); et apres ds["JOUEUR"].Rows[i][j]...
Et ta DataTable6 est bien initilisé, mais tu la remplies où ?
0
salemk Messages postés 12 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 20 mai 2011
20 mai 2011 à 18:30
salut smathis .
je ne sais pas ou et comment je remplit le datable.
s'il te plais aider moi à corriger le code.
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
23 mai 2011 à 09:34
T'as un exemple où j'utilise un datatable dans le code plus haut.
Faut rajouter ligne par ligne avec cette instruction :
dt.Rows.Add(ligne);

Et tu le fais quand tu veux.. avant de l'affecter en datasource quand même
0
Rejoignez-nous