begin process at 2012 02 08 21:33:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

Autre

 > 

Problème avec une collection de type statique...


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

Problème avec une collection de type statique...

mardi 5 février 2008 à 16:01:18 | Problème avec une collection de type statique...

PeTeRsLaStAr

Membre Club
(le titre est un peu vague, mais je ne sais pas trop, comment résumer en une phrase mon problème...)

Voilà mon problème.
J'ai un tableau qui est géré dynamiquement (sur la colonne de droite, un bouton ajouter, ajoute dynamiquement une nouvelle ligne).
Dans chaque ligne, il y a une combo Box, chargée avec le contenu d'une web Methode.

Auparavant, j'appelais la webMethode à chaque création d'une nouvelle ligne pour gérer le contenu de ma web méthode (sachant que je ne peux pas Databinder avec mon dataset, car j'effectue des traitements sur ces données... à savoir reformatage, etc...).
La webMethode est devenue très couteuse en temps, et le chargement d'une nouvelle ligne est maintenant beaucoup trop long. il me faut donc une solution de rechange.

J'ai alors essayé au premier chargement de ma comboBox de stocker mes valeurs dans une varialbe statique de type "NameValueConfigurationCollection".
Cela donnait à peu près ça :

protected static bool mbDDLHasBeenLoad;
protected static m_MyCollection;

protected void LoadDropDownList(DropDownList DDLToFill)
{
        if (!mbDDLHasBeenLoad)// Premier chargement dans la collection
        {
            m_Array_DDL_Liste_Products = new NameValueConfigurationCollection();
            NameValueConfigurationElement MyDataToAdd;
            DDLToFill.Items.Clear();
            // Appel de la WM
            MyWebServices MyWS = new MyWebServices;
             DataSet MyDS = MyWS.GetData();

            foreach (DataRow MyRow in MyDS.Rows)
            {
                    ListItem MyItem = new ListItem(MyRow["Code"].ToString(), MyRow["Libelle"].ToString());

                    DDLToFill.Items.Add(MyItem);
                    MyDataToAdd= new NameValueConfigurationElement(MyRow["Code"].ToString(), MyRow["Libelle"].ToString());
                    m_MyCollection.Add(MyProductToAdd);
             }
        }
        else    // La collection a déjà été chrgée
        {
            DDLToFill.Items.Clear();

            // Récupération de toutes les clés dans un tableau de string
            string[] saAllKeyValues = m_MyCollection.AllKeys;
            foreach (string sKey in saAllKeyValues)
            {
                DDLToFill.Items.Add(new ListItem(sKey, m_MyCollection[sKey].ToString()));
            }
        }

(J'edspère avoir été aussi clair que possible dans mon exemple...)

LE PROBLEME, est le suivant :
Dès que je modifie une DropDownList, après mon postBack, la valeur de ma DDL devient la même que la valeur de ma première DDL, chargée initialement...

Ma question vous l'avez compris : comment faire, pour que chaque DropDownList ait un comportement individuel ? Là j'ai l'impression que je dois faire une référence à ma DDL, et que du coup, toutes les DDL sont en fait liées à la première...

Merci pour vos réponses :)
Si vous avez des questions, n'hésitez pas...


****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
mercredi 6 février 2008 à 22:36:20 | Re : Problème avec une collection de type statique...

yann_lo_san

Salut,
static veut dire partagé, donc il te faut une collection par DropDownList.

// Si premiere demande

// crée la collection de la dropDownList demandée (la 1ère par exemple)
m_MyCollection1 = new ect..

// sauve entre les posback

ViewState.Add("DropDownList1", m_MyCollection1);

//  a chaque postback

if( DDLToFill.ID = "DropDownList1" )
{
   // recup collection 1
   m_collecRef = ViewState["DropDownList1"] as leTypeCollection;
}
else if( DDLToFill.ID = "DropDownList2" )
{
   // recup collection 2
   m_collecRef= ViewState["DropDownList2"] as leTypeCollection;
}

// rempli la dropDownList demandée avec la collection correspondante
DDLToFill.Items.Add(sKey, m_collecRef[sKey].ToString());
jeudi 7 février 2008 à 10:11:26 | Re : Problème avec une collection de type statique...

PeTeRsLaStAr

Membre Club
Merci pour ta réponse.

Le problème de cette solution (sauf s'il y a une feinte) c'est que je ne sais pas combien de lignes je dois avoir...
Du coup, je me vois mal créer 15 ou 20 DDL...

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher


Cette discussion est classée dans : problème, ddl, tostring, myrow, ddltofill


Répondre à ce message

Sujets en rapport avec ce message

problème de sélection de dropdownlist (qui se trouve dans un datalist) [ par siw ] Bonjour !Je n'arrive pas à selectionner les éléments de mon dropdownlist.J'ai un contrôle dropdownlist qui se trouve dans le template de mon contrôle vs 2010 [ par caspertinie ] bonjour j'ai un site en visuel studio 2008 et la base de données en sql 2005,je veux passer en vs 2010 ,j'ai installé mon site en vs 2010 et j'ai trou IIS et ASP.NET [ par chakiraziza ] Bonjour, Je viens d'installer Visual Web Developer 2008 et le serveur ISS de windows XP professionnel. Le problème se pose lorsque je veux visualise problème formulaire [ par garudra ] Bonjour, je viens de constater que lorsque je clicque sur le bouton d'envoi de mon formulaire, j'atteris sur une page qui ne correspond pas à l'url asp et c# problème de conversion de type [ par dada63 ] Bonjour, désolée si le sujet est mal placé, je ne savais pas trop où le mettre. Voilà le problème, je souhaite créer un panier de commande en asp.ne Problème formulaire avec bouton Radio [ par swatagent ] Bonjour à tous, Je tiens tout de suite a dire que je suis asser nouveau dans la language ASP et j'apprend "sur le tas" comme on dit. J'essaie de cré Récupération des données d'un grid view dans une autre page [ par imen1987 ] Bonjour Je suis entrain de développer une application web en langage vb.net et j'ai eu un problème au niveau du grid view. Lors de la selection d'une problème de saisie [ par bnadia ] Bonjour, j'aimerai si c'est possible avoir la réponse à mon problème sachant que je suis novice dans la programmation access 2007. Voila, je voudrai o Problème visualisation image avec IIS 7.5 [ par baatoutmehdi ] Salut tout le monde, Je suis en train de développer une application en ASP.NET 4.0 et j'ai migré l'application de Win Xp et IIS 6 vers Windows 7 et I


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,296 sec (4)

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