Comment se servir d'un Datagrid avec un tableau d'Object ???

sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008 - 19 mai 2005 à 12:46
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008 - 19 mai 2005 à 14:20
salut les gens, euh j'ai p'tete une question débile mais...je ne sais pas DU TOUT me servir d'un datagrid, et j'exécute une requête en sauvegardant les résultats dans un tableau d'object...ca doit pas être la meilleure solution, puisque j'ai vu partout quasiment qu'il faut un DataSet...mais mon probleme reste le meme: je récupère mon résultat, je dois enuite le traiter AVANT de l'afficher dans le datagrid...et là bah je sèche....j'sais pas m'en servir et j'comprends pas super bien le truc...j'ai fait un autre post dont voici le lien http://www.csharpfr.com/forum.v2.aspx?ID=459493&post=ok où j'explique un peu ma situation, mais je n'ai pas eu de réponse...en fait j'aimerais savoir si quelqu'un pourrait me débrouiller un peu de cette histoire d'utilisation de DataGrid svp...merci beaucoup à vous...

"Un seul Être vous manque, et tout est dépeuplé..."

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 mai 2005 à 13:16
Salut,

DataGrid.DataSource ne nécessite pas forcément un DataSet, on peut aussi utiliser une classe implémentant IList.
Tu n'as plus qu'a faire ton choix dans la liste des classes du framework qui l'implémentent, du genre ArrayList probablement.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
19 mai 2005 à 13:50
ben en fait j'ai une fonction qui effectue l'exécution de la requête en lecture qu'on lui passe en paramètre et qui te retourne un tableau Object[ , ]....lors de l'appel, j'initialise donc un tableau d'objets avec le résultat obtenu...ce resultat de requete doit être traité par une aute fonction car c du texte brut duquel il faut extraire les segments utiles....et là je bloque...la fonction qui doit scanner la string devrait ajouter au datagrid....mais j'ai pas idée de comment faire...:(

"Un seul Être vous manque, et tout est dépeuplé..."
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
19 mai 2005 à 14:01
Ou alors, au lieu du tableau faire une datatable, le dataset n'est pas nécessaire , enfin je veux pas dire de connerie.
Mais c'est sur que si c'est un tableau à une dimension, toutes les classes implémentant IList suffise amplement.

Moi je te dirais bien de faire une datatable à laquelle du défini des colonnes .

Datatable vTable=
new DataTable("Table");


DataColumn vCod=
new DataColumn("Code");


vTable.Columns.Add(vCod );


DataColumn vLibelle =
new DataColumn("Libelle");


vTable.Columns.Add(vLibelle);

Tu ajoute toutes tes lignes dedans,

DataRow newRow = vTable.NewRow();


newRow["Code"] = String.Empty ;


newRow["Libelle"]=String.Empty;


vTable.Rows.Add(newRow);

et après
madatagrid.datasource = vTable;
mais ce n'est que mon avis
0
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
19 mai 2005 à 14:17
ben ta solution me parait pas bête...mais en fait ma requete doit sélectionner plusieurs champs dans la base, en provenance de plusieurs tables...je ne dois pas afficher que ca vient de plusieurs table, simplement, j'ai des champs en provenance des 2 et je dois afficher le titre des colonnes de la table, ainsi que le contenu...et euh bah j'suis un peu nul parce que j'débute quoi lol...

"Un seul Être vous manque, et tout est dépeuplé..."
0

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

Posez votre question
sphaxslayer Messages postés 216 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 17 septembre 2008
19 mai 2005 à 14:20
en fait voilà ma méthode d'exécution de requete en lecture...tu penses que c'est adaptable à ta proposition ?

public Object[,] getQueryResult (
string query)


{



// déclaration de la requête et du DataReader puis exécution de la requête



this.oraCmd =
new OracleCommand(query,
this.oraCnx);



this.oraDtaReader =
null;



try {
this.oraDtaReader =
this.oraCmd.ExecuteReader();}



catch (Exception e) {MessageBox.Show(e.ToString());}



// déclaration du tableau de retour et initialisation des nombres de lignes et de colonnes


Object[,] ArrResult;



this.nbLignes = 0;



this.nbColonnes =
this.oraDtaReader.FieldCount;



// initialisation du tableau de retour (nombre de lignes à contenir)



while (
this.oraDtaReader.Read())


{



this.nbLignes++;


}


ArrResult =
new Object[
this.nbLignes,
this.nbColonnes];



// Remplissage du tableau de retour



try


{



this.oraDtaReader =
this.oraCmd.ExecuteReader();



int i = 0;



while (oraDtaReader.Read())


{



for (
int j = 0; j <
this.nbColonnes; j++)


{


ArrResult[i,j] = oraDtaReader.GetOracleValue(j);


}


i++;


}


}



catch (OracleException oe)


{



this.gestionErreur(oe);



return
null;


}



return ArrResult;


}

"Un seul Être vous manque, et tout est dépeuplé..."
0
Rejoignez-nous