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 :

Dataform Bouton Ajouter Supprimer non fonctionnel


Sujet :

Silverlight

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 54
    Points : 55
    Points
    55
    Par défaut Dataform Bouton Ajouter Supprimer non fonctionnel
    Bonjour ,
    Dans une architecture de type +- MVVM est t'il normal que les Boutons Ajouter supprimer d'un dataform reste grisé et ne fonctionne pas .
    Quand je repasse a un code généré avec DomainDataSource la ca fonctionne ?

    Voici mon Viewmodel
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    public class ProduitViewModel : ViewModel
        {
            private CollectionViewSource cvsprod;       
            private CollectionViewSource cvsgest;
            private DomainService1 s;
     
            public ProduitViewModel()
            {
                cvsprod = new CollectionViewSource();
                cvsgest = new CollectionViewSource();
                ocproduit = new ObservableCollection<produit>();
     
                s = new DomainService1();
     
     
            }
     
            public void Binds()
            {            
                Binding b = new Binding();
                b.Source = cvsprod.View;
     
                b.Path = new PropertyPath("gestion");
                b.Mode = BindingMode.TwoWay;
     
                BindingOperations.SetBinding(cvsgest, CollectionViewSource.SourceProperty, b);
     
     
            }
     
            public void Loadproduit()
            {
     
                cvsprod.Source = s.produits;
     
                s.Load<produit>(s.GetProduitQuery());
     
                Binds();
            }
     
            public CollectionViewSource Cvsprod
            {
                get {
     
                     return cvsprod; }
                set { cvsprod = value;
                      OnPropertyChanged("Cvsprod");
                    }
            }
     
     
            public CollectionViewSource Cvsgest
            {
                get
                {
     
                    return cvsgest;
                }
                set { cvsgest = value;
                      OnPropertyChanged("Cvsgest");
                    }
            }
     
            public IEnumerable<produit> Results
            {
                get {
     
                      return s.produits; }
            }
     
        }
    }

    Y a t'il du code a rajouter pour faire fonctionner le dataform pleinement .
    Merci pour vos retours

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Il est binder sur quelle propriete ton DataForm ?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    J'ai testé le binding sur ces deux propriétés pour faire des tests mais rien a faire.

    public CollectionViewSource Cvsprod
    public IEnumerable<produit> Results

    Voici un exemple , l'affichage fonctionne bien , les boutons de navigation aussi
    mais pas ceux pour ajouter supprimer ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding Source={StaticResource ProduitViewModel}, Path=Cvsprod}">
    .
    .
    <toolkit:DataForm Height="262" HorizontalAlignment="Left" ItemsSource="{Binding }" Margin="28,276,0,0" Name="produitDataForm" VerticalAlignment="Top" Width="544" />

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Me semble que les boutons Ajouter et Supprimer ne s'affichent pas si ton ItemsSource n'implémente pas IList et IList<T>. En gros faudrait que tu te bind sur un ObservableCollection (ou peut-etre sur la propriete View de ta CollectionViewSource).

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    Oui je pense que ca pourrais etre une solution a essayer.
    le plus bizarre quand meme c'est
    que j'utilise Ria services dans l'exemple que j'ai mit en ligne et que lorsque j'utilise
    Wcf Dataservices avec le meme viewmodel ca fonctionne ?

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    Le binding sur la propriété view du CollectionViewSource ne fonctionne pas non plus.
    Normalement Ria services retourne un EntitySet<T> qui n'implémente pas IList<T> .
    Dans une architecture normal avec le code généré par visual studio en xaml ,Ria service retourne un EntitySet<T> et la ca fonctionne ?
    Une idée ?

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/05/2008, 01h37
  2. Bouton non fonctionnel
    Par mioke dans le forum Langage
    Réponses: 5
    Dernier message: 14/04/2008, 11h24
  3. Bouton ajouter et supprimer
    Par limofab dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 27/01/2008, 00h22
  4. [DOM] Bouton Submit non fonctionnel
    Par Angelina007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/06/2007, 15h20

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