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 :

DataContext sur le premier resulta d'un DataServiceQuery


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 37
    Par défaut DataContext sur le premier resulta d'un DataServiceQuery
    Bonjour

    J'ai un web service basé sur OData qui me renvoie des produits.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var context = new ServiceReference1.OPhelieEntities(new Uri("http://localhost:62848/WcfDataService1.svc"));

    Je recupert ma CollectionViewSource et crée ma DataServiceCollection defnit la fonction deCallBack
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    System.Windows.Data.CollectionViewSource myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["pRODUITSViewSource"];
     
    var customerBindingCollection = new DataServiceCollection<PRODUITS>();
     
    customerBindingCollection.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(customerBindingCollection_LoadCompleted);
    A stade on lancer le chargement Asych
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    customerBindingCollection.LoadAsync(query);

    Ça ne marche pas avec le binding suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBox Grid.Column="1" Grid.Row="0" Height="23" HorizontalAlignment="Left" Margin="3" Name="referenceTextBox1" Text="{Binding Path=reference, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}" VerticalAlignment="Center" Width="120" />
    Je comprend pourquoi:
    on fait le binding sur le CustommerBindingCollection qui est une Collection de produit alors que mon textbox à besoin d'un produit.

    Donc actuellement je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void customerBindingCollection_LoadCompleted(object sender, LoadCompletedEventArgs e)
            {
                label1.Content = (temp.Subtract(DateTime.Now)).Seconds+"/" + (temp.Subtract(DateTime.Now)).Milliseconds;
                foreach (PRODUITS p in (IEnumerable) sender)
                    toto.DataContext = p;
     
    }
    qui ne me plait pas (faire un enum sur un collection qui a un seul resultat

    Avez vous de meilleur practice?
    Cordialement

    MARQUIS VINcent

  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
    Tu peux utiliser la méthode Linq First() (si tu es sûr d'avoir au moins un résultat) ou FirstOrDefault().

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 37
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    Tu peux utiliser la méthode Linq First() (si tu es sûr d'avoir au moins un résultat) ou FirstOrDefault().
    Oups j'ai oublier de preciser: je suis sous Silverlight donc synchrone interdit donc pas de First() ou de FirstOrDefault(). Merci

  4. #4
    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 marquisvincent Voir le message
    Oups j'ai oublier de preciser: je suis sous Silverlight donc synchrone interdit donc pas de First() ou de FirstOrDefault(). Merci
    Tu es dans le forum Silverlight, c'est moi qui n'ai pas vu

    Mais ça ne change rien, tu peux faire

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((IEnumerable<PRODUITS>) sender).First();

    En n'oubliant pas de référencer System.Linq

Discussions similaires

  1. [MySQL] requete sur la premiere lettre
    Par hugo69 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/03/2006, 21h16
  2. pb sur le premier clic sur un bouton
    Par corwin44 dans le forum Access
    Réponses: 6
    Dernier message: 28/10/2005, 09h51
  3. [Language] Aide sur mon premier programme Java?
    Par hash2zo dans le forum Langage
    Réponses: 15
    Dernier message: 27/09/2005, 19h26
  4. Réponses: 2
    Dernier message: 11/01/2005, 14h10
  5. [Debutant] GROUP BY sur les premiers caracteres d'un champ
    Par seb-astien dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/11/2004, 14h53

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