begin process at 2012 05 28 01:45:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Web 2.0

 > 

Problème datagrid


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème datagrid

vendredi 21 juillet 2006 à 17:29:35 | Problème datagrid

adressprov

Bon, je sais je suis chiant mais je suis sur que je ne suis pas le seul.  (lol)  :-)

J'explique mon nouveau problème et là je suis sur que cela porte sur du code.
Voila dans une première page j'ai une ListBox dans laquelle se trouve plusieurs personnes. Cette ListBox à la propriété multiple donc l'utilisateur peut choisir plusieurs personnes.

Donc l'utilisateur choisit des personnes et clique sur un bouton qui va l'envoyer sur une autre page et qui va mettre dans un ArrayListe de type static (déjà la je suis par sur que sa soit bien) toutes les personnes sélectionnés.

Lors du chargement de la seconde page, je dois remplir un datagrid avec toutes les personnes choisies et d'autres informations les concernant donc je fais une boucle Pour pour savoir combien de personnes ont été selectionné puis dans cette boucle je fais ma connexion avec la base de données pour chaques personnes puis je remplis par DataGrid mais celle-ci ne m'affiche que la dernière personne.

Un exemple vaut mieux qu'un grand discours voici une partie de mon code :

if(!IsPostBack) {
    for (i=0;i<=WebApplication1.WebForm3.myListBoxSelectVal.Count;i++) {

        //S'il y a une erreur lors de la connexion ou de l'identification, je renvoie false
        try {
            maConnexion = new OleDbConnection (
            @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""E:\Temp\JF\Maquette asp\Personne.mdb""");
            
            maConnexion.Open();

            string querytest = "SELECT CodePerso, Nom, Prenom From Commercial where Nom = '" +                                                         WebApplication1.WebForm3.myListBoxSelectVal[i] +"'";
           
            OleDbDataAdapter monAdapter = new OleDbDataAdapter (querytest, maConnexion);
                   
            DataSet monDataSet = new DataSet ();
            monAdapter.Fill(monDataSet);
            DataGridCom.DataSource = monDataSet;
            monDataSet.Dispose();
       
        }catch (Exception) {
             Response.Write("Erreur");
        } finally  {
             if (maConnexion != null)
                maConnexion.Close();
             }
          }
     }
}

Encore désolé de vous sollicité.

vendredi 21 juillet 2006 à 23:41:56 | Re : Problème datagrid

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonsoir,

c'est normal ce qui t'arrive ! Tu binds tes controles plusieurs fois de suite et logiquement c'est la derniere valeur qui est affiché ... :-/

et non ce n'est pas bien de mettre des données propres à un user dans une variable static qui est propre à l'application donc plusieurs users partagent la meme valeure :s les variables sessions sont tes amis :)


Cyril - MVS - MCP
samedi 22 juillet 2006 à 02:06:43 | Re : Problème datagrid

adressprov

Comment résoudre mon premier problème alors pour ne pas binder à chaque fois car je suis obligé de faire une requête pour chaques personnes selectionné par l'utilisateur.
En ce qui concerne la variable static, je vais créer une variable de sessions qui vaa donc contenir toutes les personnes selectionnées.
samedi 22 juillet 2006 à 02:17:51 | Re : Problème datagrid

jesusonline

Membre Club Administrateur CodeS-SourceS
Tu fais une requete qui te retournent toutes les lignes plutot que pleins de petites requetes ..


Cyril - MVS - MCP
samedi 22 juillet 2006 à 12:24:11 | Re : Problème datagrid

adressprov

Faut que je fasse des inner join et découper ma variable de session en plusieurs petit bout alors du style :

ArrayList perso = new ArrayList();
int i=0; 

Tant que j'ai pas récupérer toutes mes personnes selectionnées dans ma variable de session faire
   perso[i] = session[i];
   i++;
Fin tant

Select * from Personne where nom = ' " + perso[i] + "'"
Union
Select * from Personne where nom = ' " + perso[i++] +" ' "

Mais comment je sais le nombre d'union que je dois faire tout dépend du nombre de personne selectionnée.
dimanche 23 juillet 2006 à 18:02:03 | Re : Problème datagrid

Yopyop

salut,

je te suggère de mettre l'id des personnes dans ta liste (vluae=id, text = nom + prénom).
ensuite, sur ta page qui affiche tes personnes sélectionnées, tu récupères les ids et tu crées une requête du genre:

select * from personne where id in (" + idReceived "+) Order by nom ASC"

yopyop

dimanche 23 juillet 2006 à 18:02:24 | Re : Problème datagrid

Yopyop

vluae = value

yopyop
lundi 24 juillet 2006 à 08:24:01 | Re : Problème datagrid

adressprov

Ok je vais tester ça, je te remercie pour cette réponse qui m'a éclairé.
Je te tiens au courant de l'avancement de mon problème
lundi 24 juillet 2006 à 10:22:58 | Re : Problème datagrid

adressprov

Ok, j'ai voulu essayé mais je sais pas comment on fait pour mettre l'id des personnes dans ta liste (value=id, text = nom + prénom) dans le code behind
Car pour remplir ma liste je fais
foreach (DataRow dr in monDataSet.Tables[0].Rows)
    {
        LBCom.Items.Add(dr["Nom"].ToString());
    }

Et je ne suis pas sûr que idReceived marche puisque sa va être un ArrayList, la requête ne va pas lire toutes les cases de mon ArrayList et voir si cela correspond au id de la personne.

lundi 24 juillet 2006 à 12:40:03 | Re : Problème datagrid

Yopyop

re,

pourquoi ne pas utiliser le databinding pour ta liste (ps, le code est en vb.net) ?

LBCom.DataSource = monDataSet
LBCom.DataValueField = "ID"
LBCom.DataTextField = "Name"
LBCom.DataBind()

Ensuite tu peux récupérer les ids sélectionnées et les utiliser pour ta requête.


1 2 3

Cette discussion est classée dans : problème, datagrid, personnes, maconnexion, mondataset


Répondre à ce message

Sujets en rapport avec ce message

problème avec mon datagrid [ par fyrrhom ] Bonjour,Sur mon site en asp.net, j'ai un formulaire de recherche multi-critères.en fonction des critères, il me renvoie la liste des resultats dans un Problème de datagrid + textBox [ par jagdjg ] Bonjour, j ai un datagrid que je remplit avec un datatable.j ai ajouté au datagrid une colonne checkBox.J ai un bouton qui devrait tester le checkBoxL Problème avec une colonne modèle dans un datagrid [ par lutin2004 ] Bonjour, J'ai un problème dans une colonne modèle d'un datagrid, j'aimerais qu'un label de cette colonne soit le résultat de la multiplication d'une a Problème de tri dans une datagrid [ par lenneth666 ] Voila alors dans ma datagrid, je permet le tri suivant chaque colonne composant la datagrid. Le problème c'est qd je passe en mde édition pour la dat Problème de pagination avec DataGrid [ par Cryborg ] Bonjour,   J'ai un problème très étrange dans un de mes DataGrid : la pagination est activée, le tri également, et cela fonctionne.. du moins la premi Problème de mise à jour d'une datagrid... [ par nicko666 ] Bonjour à tous, voila j'ai un ptit soucis. Dans le cadre d'un developpment asp.net d'une partie administration, j'ai besoin de faire des mises à jou Evenement dans hyperlink column... [ par Zekez ] Bonjour,Voilà mon problème, j'ai créé, en C#, un datagrid contenant deux colonnes: une avec des données d'une BD et une avec des hyperliens. Je voudra TRI sur TemplateColumn d'un datagrid [ par maximemonny ] Bonjour à tous,Voici le problème : je voudrais faire un datagrid à plusieurs colonnes avec des tris ascendants et descendants (à l'aide d'ImageButton) Trier les données d'un datagrid [ par maximemonny ] Bonjour à tous,Voici le problème : je voudrais faire un datagrid à plusieurs colonnes avec des tris ascendants et descendants (à l'aide d'ImageButton) Un stagiaire en détresse du à un problème de datagrid [ par lenneth666 ] Voila je vous explique mon problème.dans une datagrid j'aimerais avoir une colonne d'hyperlink. Le problème c'est que dès que dans le code je veut cha


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales