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

Silverlight Discussion :

Telerik, Affectation dans le content d'un GridViewCell


Sujet :

Silverlight

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Par défaut Telerik, Affectation dans le content d'un GridViewCell
    bonjour,

    • Voila, je suis sous VS2010 SL4 C#, je n'arrive pas à affecter une valeur à la propriété Content d'une cellule dans un radGridView de chez Telerik, à première vus l’affectation se fait bien on vois la valeur qui change dans la cellule, puis si je clique sur la cellule pour la faire passer en mode édition, la c'est l'ancienne valeur qui apparait



    • Jais donc penser que ça avais une relation avec le fait que jais changer la valeur sans être en mode editing et donc ça a fait que quelque chose a pousser le composant à restaurer la OldValue qui est une propriété privé de la cellule , donc pour écarter cette possibilité jais fait ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ((Telerik.Windows.Controls.GridView.GridViewCell)_Cible).BeginEdit();
    ((Telerik.Windows.Controls.GridView.GridViewCell)_Cible).Content = "Nouvelle valeure";
    ((Telerik.Windows.Controls.GridView.GridViewCell)_Cible).CommitEdit();
    • ça n'a rien donné, même en modifiant le Value au lieu du Content, il restaure toujours l'ancienne valeur dé le passage en mode édition de la cellule juste après

    que faire ?

    PS. il est possible de changer le contenue sans problème en modifiant la le champ du Item Bindé à la cellule, mais ceci m'oblige à Caster le Item en le type de l'entité qu'il représente pour pouvoir voir apparaitre les cellules du Item pour les modifier, et je ne peut pas me permettre de faire ça, le traitement doit rester générique c'est une contrainte que je doit respecter, aucun Cast ne doit rentrer la dedans.

    Merci

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Avec Reflection, il y a moyen de faire un cast dynamique.

    Ou alors avec le type Dynamic? (Jamais utilisé donc je ne peux pas trop dire dessus)

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Par défaut
    Avec Reflection, il y a moyen de faire un cast dynamique.
    Peut tu être un peut plus explicite si c'est possible,
    Merci.

  4. #4
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230

  5. #5
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Citation Envoyé par Lapinpanda Voir le message
    Presque
    Celle-ci, pour être précise :
    http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx

    Alors Reflection permet de voir les metadonnées d'un object. Son type, ses fonctions, etc...
    Avec ça, tu peux voir le type d'item. Et de faire un cast dynamique pour assigner une valeur. Au premier abord ça a l'air barbare comme méthode, mais en fait ça marche assez bien. Mais il y a un coût temps de traitement.

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 58
    Par défaut
    Après avoirs fouiner un peut dans les Réflexions je pense que ça ne repend pas exactement à ce que je voulais faire, à un moment donné après avoir récupéré le type dynamiquement faut toujours faire un if pour voir dans quelle cas je suis pour effectuer par la suite un certain traitement plutôt qu'un autre, et le faite de penser à traiter tout les cas, même si ça marche, ce n'est toujours pas générique quand même.
    Finalement jais contourner le problème, je fait le traitement non générique en dehors de la partie qui doit rester générique.

    c-a-d je recupére le Content et je force son ecriture dans le champ du Item en dheors de la fenetre qui doit rester generique et ceci apres que celle-ci soit fermé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void Fenetre_Liste_Closed(object sender, EventArgs e)
    {
        if (DetailsMouvementrRadGridView.CurrentCell.Column.UniqueName.ToString() == "REF_ARTICLE") ((View_MouvementsDetailsLoadAll)DetailsMouvementrRadGridView.CurrentCell.ParentRow.Item).REF_ARTICLE = DetailsMouvementrRadGridView.CurrentCell.Content.ToString();
        if (DetailsMouvementrRadGridView.CurrentCell.Column.UniqueName.ToString() == "DES_LOT") ((View_MouvementsDetailsLoadAll)DetailsMouvementrRadGridView.CurrentCell.ParentRow.Item).DES_LOT = DetailsMouvementrRadGridView.CurrentCell.Content.ToString();
        if (DetailsMouvementrRadGridView.CurrentCell.Column.UniqueName.ToString() == "REF_MAGASIN") ((View_MouvementsDetailsLoadAll)DetailsMouvementrRadGridView.CurrentCell.ParentRow.Item).REF_MAGASIN = DetailsMouvementrRadGridView.CurrentCell.Content.ToString();
    }
    C'est tout ce que jais trouvé, si y a mieux je suis preneur, mais cela dit je ne comprend toujours pas pourquoi ça marche tres bien quand j'ecrit au clavier dans la cellule (dans le content), et ca ne amrche pas quand je fait une affectation.
    Merci.

Discussions similaires

  1. [VB] requete SQL et affectation dans un champs
    Par erox44 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/04/2007, 16h59
  2. loadMovie dans un content pane?
    Par Prosis dans le forum Flash
    Réponses: 4
    Dernier message: 03/03/2007, 15h57
  3. Problème recordset affectation dans la variable
    Par seba_stien dans le forum Access
    Réponses: 7
    Dernier message: 25/09/2006, 08h40
  4. Réponses: 4
    Dernier message: 29/08/2006, 16h37
  5. [Smarty] Affectation dans une boucle PHP
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/08/2006, 09h30

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