IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

lever manuellement l'evenement onselectedindexchanged


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut lever manuellement l'evenement onselectedindexchanged
    Bonjour.

    Je n'arrive pas a lever l'evenement onselectedindexchanged en surchargeant la fonction Page_Load.

    J'ai lu une page qui explique comment le faire sur ce site :

    http://blog.developpez.com/index.php...&c=1&tb=1&pb=1

    J'ai absolument besoin de recuperer dans Page_Load ma dropdownlist (incluse dans un datagrid) pour checker la valeur que le user a selectionnee et en fonction de la valeur executer un traitement. Le probleme c'est que je n'arrive meme pas a recuperer la dropdownlist de mon formulaire. J'obtiens tout le temps l'erreur : "Object reference not set to an instance of an object".

    Ma fonction Page_Load ressemble a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Protected Sub Page_Load(sender As Object, e As System.EventArgs )
     
    If Page.IsPostBack Then
    	Dim list As DropDownList = Results.FindControl("TypeDropDownList") 
    	Dim notetext As TextBox = Results.FindControl("SOTextbox")
    	notetext.Text = "test"
    End If
     
    End Sub
    Et dans la meme page se trouve un datagrid :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <asp:DataGrid id="Results" Runat="server" AllowPaging=False AllowSorting=True	AutoGenerateColumns=False CellSpacing="0" CellPadding="0" ShowFooter=True EnableViewState=True>
    <columns>		
    <asp:TemplateColumn>			
    <EditItemTemplate>
    <asp:DropDownList id="TypeDropDownList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="UpdateTextField">
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
    <EditItemTemplate>
    <asp:TextBox Text="" runat="server" ID="SOTextbox" TextMode="MultiLine" Rows="4" Columns="70"/>
    </EditItemTemplate>
    </asp:TemplateColumn>
    </columns>
    </asp:DataGrid>

    Help me please !!!

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !
    Je sais pas si ça peut tout résoudre, mais je pense que si tu veux chercher le contrôle qui est associé à une ligne, il faut sûrement préciser cette ligne...

    => results.rows(i).findcontrol(...)

    Sinon, il ne sait pas l'identifier, et il te renvoire nothing, non ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    oui c'est ce qu'il faut faire.

    En fait c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monGridView.rows(i).Cells(j).FindControl("maDropDownList")

  4. #4
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut
    La commande monGridView.rows(i).Cells(j).FindControl("maDropDownList") ne marche pas, ca me lance une exception.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    laquelle?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Voici un bout de code issu directement d'un de mes projets (en production... et utilisé par 800 personnes... pour te dire que pour marcher, ça marche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     'Si on trouve une case non coché alors on coche tout
            For Each row As GridViewRow In Me.GridView1.Rows
                If Not CType(row.Cells(4).FindControl("chkOuiNon"), CheckBox).Checked Then
                    check = True
                    Exit For
                End If
            Next

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/05/2009, 11h08
  2. [Remoting] lever un evenement en remoting
    Par warenbe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/03/2008, 14h03
  3. Evenement Change
    Par PierDIDI dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2002, 10h08
  4. develloppement avec ORBit: service d'evenement
    Par belmontv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/06/2002, 22h56
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo