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 :

DomainDataSource.QueryParameters DataGrid et DataPager


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut DomainDataSource.QueryParameters DataGrid et DataPager
    bonjour,
    je suis entrain de m'arracher les cheveux, si quelqu'un pouvait me venir en aide afin d'éviter une calvitie précoce !

    voila le problème
    j'ai une procédure stocké :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE PROCEDURE [dbo].[psProjectUser] 
    	@userId uniqueidentifier
    AS
    BEGIN
    	SET NOCOUNT ON;
     
    	SELECT p.idProject, p.name, p.createur, p.dteCreation from TProjects p where exists (select * from TProjectsUser u where u.userId=@userId and u.idProject=p.idProject)
    END
    un petit service :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public IQueryable<TProjects> GetTProjectsForUser(Guid userId)
            {
                return this.ObjectContext.call_psProjectOffUser(userId).OrderBy(e=>e.name).AsQueryable();
            }

    et mon code coté client :
    Code xaml : 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
     
    <riaControls:DomainDataSource AutoLoad="True" Height="0" LoadedData="tProjectsDomainDataSource_LoadedData" x:Name="tProjectsDomainDataSource" QueryName="GetTProjectsForUserQuery" Width="0">
                        <riaControls:DomainDataSource.SortDescriptors>
                            <riaControls:SortDescriptor PropertyPath="name" />
                        </riaControls:DomainDataSource.SortDescriptors> 
                         <riaControls:DomainDataSource.DomainContext>
                            <my1:DSbubleConcept />
                        </riaControls:DomainDataSource.DomainContext>
                            <riaControls:DomainDataSource.QueryParameters>
                    <riaControls:Parameter ParameterName="userId" x:Name="pUserid" Value="{Binding Path=UserId, Source={StaticResource loggedUser}}" />
                        </riaControls:DomainDataSource.QueryParameters>                                       
                    </riaControls:DomainDataSource>
    <sdk:DataGrid AutoGenerateColumns="False" Grid.Row="1" Height="200"  Width="Auto"  HorizontalAlignment="Left" ItemsSource="{Binding Data, ElementName=tProjectsDomainDataSource}" Margin="0,5,0,5" Name="tProjectsDataGrid" Foreground="White" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" IsReadOnly="True" GridLinesVisibility="Horizontal" ColumnHeaderStyle="{StaticResource bubleConceptDataGridColumnHeaderStyle}" Style="{StaticResource bubleConceptDataGridStyle}" RowStyle="{StaticResource bubleConceptDataGridRowStyle}" CellStyle="{StaticResource bubleConceptDataGridCellStyle}" Padding="0">
    ...
    </sdk:DataGrid>
                    <sdk:DataPager Grid.Row="2"  Height="Auto" HorizontalAlignment="Stretch" Source="{Binding Data, ElementName=tProjectsDomainDataSource}" Margin="0,5,0,5" Name="dataPager1" PageSize="10" VerticalAlignment="Top" DisplayMode="PreviousNextNumeric" />

    si j'enlève le datapager tout fonctionne correctement si je le laisse j'ai l'erreur suivante :
    System.serviceModel.DomainServices.Client.DomainOperationException: Echec de l'opération Load pour la requête "GetTProjectsForUser". Le résultat d'une requête ne peut pas être énuméré plusieurs fois.


    je n'arrive vraiment pas à comprendre le pourquoi du comment SVP une bouée !

    une petite remarque : si je modifie l'AutoLoad="True" en "False" et que je place un tProjectsDomainDataSource.Load() dans le constructeur
    cela fonctionne à ceci près que ma datagrid est positionnée sur une page vide et qu'il faut que je clique sur l'index du datapager pour afficher les donnés ????

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14
    Par défaut
    ok alors si dans mon service plutot que d'appeler ma procédure je colle une requête link :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public IQueryable<TProjects> GetTProjectsForUser(Guid userId)
            {
                 IQueryable<TProjects> pQuery = from p in this.ObjectContext.TProjectsUser.Where(c => c.userId == userId)
                           join pu in this.ObjectContext.TProjects on p.idProject equals pu.idProject
                           select pu;
     
                return pQuery;
            }
    ça marche !!

    mais franchement mettre des requêtes ad hoc ! directement comme cela dans le code cela me plaît mais alors pas du tout !

    si quelqu'un aurait une piste du pourquoi
    je vais essayé de modifier ma procédure afin de voir si cela viens de la (bien qu'elle fonctionne parfaitement si j’enlève le datapager coté client)

Discussions similaires

  1. DomainDataSource, visualiser l'ajout dans un Datagrid
    Par Golzinne dans le forum Silverlight
    Réponses: 6
    Dernier message: 24/11/2010, 17h49
  2. Pb d'update dans une DataGrid
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2003, 14h11
  3. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19
  5. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37

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