begin process at 2012 02 14 05:31:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

UserControl

 > 

Passer une donnée d'une ligne de GridView à un UserControl


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

Passer une donnée d'une ligne de GridView à un UserControl

mardi 20 mai 2008 à 16:33:20 | Passer une donnée d'une ligne de GridView à un UserControl

obitskater

Bonjour à tous,

Voilà, dans ma page principal j'ai une GridView avec pour chaque ligne un HoverMenu Ajax.Net, dans lequel il y a des liens permettant l'ouverture de Popup, sous la forme d'un userControl, qui affiche les détails de la ligne selectionnée dans la GridView.

Mon problème est que je souhaiterais passser l'id de la ligne selectionné au UserControl, mais je bloque et je ne vois pas du tout comment faire. J'ai pensé à l'évènement OnSelectedIndexChanged de la GridView pour passer l'id en Session, et le récupérer dans le pageLoad de l'UserControl, mais j'ai une Exception "Object reference not set to an instance of an object. "

Voici ma procédure de la page principale pour mettre l'Id dans la Session:

protected void gvTab_SelectedIndexChanged(object sender, EventArgs e)
    {
        Session["RowIdStatut"]= Int32.Parse( gvTab.SelectedRow.Cells[0].ToString());
    }


Et ici, le PageLoad de mon UserControl:

protected void Page_Load(object sender, EventArgs e)
    {

        _iID = Int32.Parse(Session["RowIdStatut"].ToString());
       
//C'est ici qu'il y a l'erreur, il dit que
Session["RowIdStatut"] est null
   
        lblID.Text = "id = " + _iID;
    }

Si vous aviez une idée ce serait top ^^, merci d'avance!

mardi 20 mai 2008 à 16:41:56 | Re : Passer une donnée d'une ligne de GridView à un UserControl

GillouXman

fait un get set d une variable dans ton usercontrol

apres tu pourras faire usercontrool.nomdetavariable pour le setter

et puis dans ton usercontrol tu l appel via la variable private
mardi 20 mai 2008 à 17:04:09 | Re : Passer une donnée d'une ligne de GridView à un UserControl

obitskater

Bonjour,

J'avais déjà essayer cette solution qui me paraît biensur plus simple, mais même en affectant un entier, je n'ai pas l'impression qu'il le passe, car j'ai toujours rien dans mon userControl.

Page principale:
protected void gvTab_SelectedIndexChanged(object sender, EventArgs e)
    {
       uc_PopupStatut.iID = 2;
    }


UserControl
 protected void Page_Load(object sender, EventArgs e)
    {
      
        lblID.Text = "id = " + _iID;
        initTha();
        lblNom.Text = "nom = " + _tha.sName;
    }
 
public Int32 iID
    {
        get
        {
            return _iID;
        }
        set
        {
            _iID = value;
        }
    }


Peut être que ça vient du fait que je n'entre pas dans la procédure d'evenement SelectedIndexChanged, car meme en debug en  balladant mon curseur sur la GridView il ne semble jamais rentrer dedans
mardi 20 mai 2008 à 17:20:34 | Re : Passer une donnée d'une ligne de GridView à un UserControl

GillouXman

tu as essaye comme ca

Dim ucType As Type = myUC.GetType()

Dim ucProperty As Reflection.PropertyInfo = ucType.GetProperty("ilID")

ucProperty.SetValue(myUC, "Some Value here", Nothing)

mardi 20 mai 2008 à 19:38:48 | Re : Passer une donnée d'une ligne de GridView à un UserControl

obitskater

Merci pour ta réponse, mais je suis un peu perdu... C'est du VB c'est ça? J'en ai jamais fait... je code en C#.
Je pense pouvoir m'en sortir mais est ce que certains types ou objets sont spécifiques à VB?
Par exemple myUC, Type, Reflection, ???

Car j'ai jamais vu de VB de ma vie...
mardi 20 mai 2008 à 19:55:52 | Re : Passer une donnée d'une ligne de GridView à un UserControl

GillouXman

  • Type ucType = myUC.GetType();
  •    
  •     Reflection.PropertyInfo ucProperty = ucType.GetProperty("ilID");
  •    
  •     ucProperty.SetValue(myUC, "Some Value here", null);
  • mardi 20 mai 2008 à 20:09:06 | Re : Passer une donnée d'une ligne de GridView à un UserControl

    obitskater

    Ok merci bien, j'essairais ça demain car là je suis plus au boulot ;) Je te tiens au courant!

    Par contre je ne vois pas trop à quoi correspond ta variable myUC.
    Et ce bout de code je le met biensur dans ma page principale c'est ça? (ou dans mon uxer control :s)
    mardi 20 mai 2008 à 20:31:10 | Re : Passer une donnée d'une ligne de GridView à un UserControl

    GillouXman

    myUC c'est ton user control

    oui dans la page principale
    mardi 20 mai 2008 à 20:51:16 | Re : Passer une donnée d'une ligne de GridView à un UserControl

    obitskater

    Ok merci bien je te tiens au courant demain ;)
    mercredi 21 mai 2008 à 16:09:41 | Re : Passer une donnée d'une ligne de GridView à un UserControl

    obitskater

    Bon en fait mon probleme maintenant est que je ne sais pas dans quel évènement faire cette affectation, il faut que je la fasse absolument avant que le userControl ne s'affiche, sachant que je n'ai pas de select dans ma GridView...

    1 2

    Cette discussion est classée dans : ligne, session, id, gridview, usercontrol


    Répondre à ce message

    Sujets en rapport avec ce message

    Variables SESSION [ par gbpolo ] Salut a tous,Je passe une variable en session dans mon global.asa au niveau du onStart() : Session.Contents.Item("SESSION_ID") = Fields("SESSION_ID encryptage session ID [ par tophux ] Bonsoir, je cherche a savoir s'il est possible d'encrypter le liens dans la barre d'adresse lors d'un get : http://www.monsite.net/mapage. cryptage du Session ID [ par tophux ] Bonsoir,je cherche a savoir s'il est possible d'encrypter le liens dans la barre d'adresse lors d'un get :http://www.monsite.net/mapage.asp?ID=35</tab session en jsp [ par princessemili ] Bonjour Comment fait tu pour passer l'objet session a une autre page.dans ma page principale j'ai formulaire j'envoi a la page 2 ou je créer ma sessi Session Id + Popup [ par notoriousFab ] BonjourJ'ai un site qui ouvre des pages en popup et, sur certains postes, la variable de session n'est plus valable dans le popup.Y-a-t-il un moyen de probleme session [ par darkstone007 ] bonjours,j'ai probleme avec les session, j'ai une page login je veux sauvegarder l'id d'un user dans une variable session et ensuite le reccuperer par ASP.NET et les session.ID [ par Troyan ] Bonjour,je dois stocker pour reconnaitre un internaute la valeur de Session.IDhors contrairement aux ASP 3.0 cette derniere change à chaque page de na Ajouter une LIGNE dans une gridview [ par mickaelpfr ] Salut a tous , ma question est simple , je souhaite ajouter une ligne vide dans une gridview qui contiendrais juste de l'html... si quelqu'un pouvais Gridview : colonne différente suivant les ligne :s [ par gstrit ] Bonjour,J'ai une gridview avec en bout de ligne une série de lien en forme d'icone. J'aimerais que suivant les lignes, certaines icones n'apparaissent Récupération ligne gridview ModalPopup [ par gstrit ] Bonjour,Soit une gridview avec au bout de chaque ligne une icone. Lorque je clique sur cette icone, il apparait un modalpopup Atlas. Dans ce popup, il


    Nos sponsors


    Sondage...

    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,452 sec (3)

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