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

ASP.NET Discussion :

Propriété readonly à enlever


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut Propriété readonly à enlever
    Bonjour à tous comment enlever la propriété readonly a l'objet rows.
    Je vous demande sa car j'ai cette erreur :
    La propriété 'Rows' est 'ReadOnly'
    J'ai essayer de l'enlever grâce à defaultmode : insert ou edit mais sa n'a pas marcher.
    Si quelqu'un à une solution d'avance merci.

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    1) : la propriété Rows de quel objet ?
    2) : pourquoi vouloir valoriser une collection ? En principe tu te contentes d'y accéder (ex. Rows.Add(newrow), Rows.Clear(), etc...).
    3): Si ton but est effectivement d'affecter une nouvelle collection à l'objet parent, et que le readonly te "gênes", tu ne peux tout simplement pas l'enlever sans modifier sa classe.

    En résumé je pense que tu te trompes d'approche. Que veux-tu faire exactement ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ce n'est pas possible "d'enlever le readonly" d'une propriété...
    Si elle est readonly, c'est parce que l'accesseur set n'est pas implémenté

    De toutes façons, comme a dit MetalGeek, tu n'as pas besoin d'affecter une valeur à Rows. Il suffit d'ajouter ou supprimer des éléments avec les méthodes Add, AddRange, Remove et Clear.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Merci pour vos réponses tomlev et MetalGeek

    Voila en fait ce que je veux faire :
    J'ai un gridview avec une colonne commandfield.
    Lors du click sur les bouton sélectionner situé dans cette colonne , une autre gridview ou detailview apparait avec des données.
    Ce que je voudrais ces cela mais que le résultat s'affiche dans une autre page.
    Pour cela j'utilise response.redirect.
    Voici le code que je met dans ma page ou ce trouve la gridview avec les boutons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Protected Sub GridView2_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView2.SelectedIndexChanging
            Session("nom") = GridView2.Rows
            Response.Redirect("~/Default3.aspx")
        End Sub
    Et voici celui qui se trouve dans la page à afficher avec la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     If Not Page.IsPostBack Then
                DetailsView1.Rows = Session("nom")
            End If
    Mais la cette partie génère l'erreur :
    DetailsView1.Rows = Session("nom")

    Voilà mon problème.
    @+

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DetailsView1.Rows.AddRange(Session("nom"))
    mais je doute que ça fonctionne...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Désoler tomlev mais sa ne marche pas , il me dit l'erreur suivante :
    'AddRange' n'est pas un membre de 'System.Web.UI.WebControls.DetailsViewRowCollection'.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ah ok, en fait la collection est pas modifiable...
    apparemment ça peut s'utiliser qu'en mode bindé (DataSource)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Sa veut dire qu'il n'y a pas de solution?

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ça veut dire que la solution est ailleurs...

    à mon avis il ne faut pas transmettre entre les pages les Rows mais l'objet qui sert de source au DetailView
    par exemple, tu stockes dans la session l'identifiant de l'élément à afficher, et tu le récupères dans la 2e page pour afficher l'élément voulu

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Merci pour ta réponse Tomlev je vais voir ce que je fais.
    Pourtant ces bizarre car j'y étais arrivé avec du texte contenu dans une textbox , mais bon ..

    En fait le truc ces que l'objet qui sert de source au detailview et un sqldatasource qui va chercher des données dans la table

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut re
    Le problème ces que mon Sqldatasource je lui dit d'aller chercher les info en fonction du champ utilisateur-id qui se trouve dans le controle gridview2 dans la page source.
    Je ne vois pas qu'elle serait ma session.

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je suppose que tu utilises un ControlParameter pour ton SqlDataSource ?
    Remplace le par un SessionParameter pour récupérer la variable qui est en session. Ou alors passe la valeur dans l'URL quand tu fais le Redirect, et récupère là dans le SqlDataSource avec un QueryStringParameter

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut re
    D'accord pour la session mais comment je fais pour mettre la variable dans la session.

    Session("info") = est la je met quoi

    D'avance merci

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu mets la valeur utilisée par le SqlDataSource (la valeur du champ utilisateur-id)

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Merci pour ta réponse tomlev mais comment je fais pour mettre la valeur du champ utilisateur-id.
    EN fait je dois mettre la valeur du champ utilisateur-id sélectionner.

  16. #16
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    utilise la propriété SelectedValue du GridView

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Bon j'ai essayer de mon coté mais je cela ne marche pas.
    Je explique ce que j'ai fait , j'ai surement dus oublier un petit détail.

    Sur ma page vb source contenant le gridview j'ai ajouter le code suivant pour la session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      Protected Sub GridView2_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView2.SelectedIndexChanging
            Session("info") = GridView2.SelectedValue
            Response.Redirect("~/Default3.aspx")
        End Sub
    Ensuite j'ai dans ma page default3.aspx j'ai ajouter un contrôle detailview.
    J'ai aussi ajouter un contrôle sqldatasource que j'ai paramétrer pour récupérer la session voici sont instruction select :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM [informations] WHERE ([utilisateur_id] = @utilisateur_id)
    Avec pour [utilisateur_id] = @utilisateur_id valeur = Session("info").


    J'espère avoir été assez claire sinon j'en suis désoler et d'avance merci pour vos réponses

  18. #18
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as bien défini la propriété DataKeyNames sur GridView2 ?

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 442
    Par défaut réponse
    Oui j'ai bien préciser mes DataKeyNames pour les deux :

    DataKeyNames="utilisateur_id"

  20. #20
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    essaie de mettre un point d'arrêt sur la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session("info") = GridView2.SelectedValue
    et vérifie la valeur de SelectedValue

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [AC-2000] propriété readonly avec documents.open
    Par ftiti dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/09/2009, 07h21
  2. [MVC] Propriété readonly ne fonctionne pas avec Spring
    Par pontus21 dans le forum Spring Web
    Réponses: 0
    Dernier message: 22/04/2009, 16h36
  3. Problème avec la propriété 'readonly'
    Par pontus21 dans le forum Spring Web
    Réponses: 0
    Dernier message: 20/04/2009, 14h49
  4. [Lazarus] Mise à jour de la propriété Readonly d'un Tmemo
    Par weberick dans le forum Lazarus
    Réponses: 9
    Dernier message: 31/12/2008, 10h40
  5. modification de la propriété ReadOnly d'un Textarea
    Par Delphi-ne dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/08/2007, 10h25

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