J'expérimente avec .Net RIA et Silverlight, j'ai quelques entités liées; Client, Projet et Job, un Client a de nombreux Projets, et un Projet a beaucoup de Jobs.Comment puis-je définir les valeurs initiales lors de l'utilisation de Silverlight DataForm et de .Net RIA Services DomainDataSource?
Dans l'application Silverlight, j'utilise une DomainDataSource et des contrôles DataForm pour effectuer les opérations CRUD. Lorsqu'un client est sélectionné, une liste de projets apparaît, à partir de laquelle l'utilisateur peut ajouter un nouveau projet pour ce client. J'aimerais pouvoir renseigner automatiquement la valeur pour le client, mais il ne semble pas y avoir moyen de le faire, alors qu'il existe un événement AddingNewItem sur le contrôle DataForm, il semble se déclencher avant que le DataForm ait un instance du nouvel objet et je ne suis pas sûr que le chalutage à travers le ChangeSet de l'événement DomainDataSource SubmittingChanges est le meilleur moyen de le faire.
Je pensais que cela aurait été une caractéristique évidente ... quelqu'un connaît le meilleur moyen d'atteindre cette fonctionnalité?
TheDuke, vous avez trouvé la solution à votre question? J'ai une situation similaire: Je voudrais préremplir certains DataField de ma fenêtre de modèle NewItem avec certaines données d'un DataContext défini par XAML. Cela peut provenir de DataGrid ou de DataForm lui-même. Mais ni cela, ni aucune solution que j'ai essayée, ne me donne la possibilité de lier le modèle NewItem avec des données. – AlvinfromDiaspar
Je n'ai pas eu beaucoup de chance avec ça et c'était juste un projet personnel de toute façon, je n'ai donc pas vraiment persévéré. Ce que j'ai fait à la fin n'est en aucun cas une solution idéale, mais en utilisant les événements AddingNewItem et EditEnded de DataForm je garde une booléenne de temps l'utilisateur ajoute un nouvel élément et puis en plus dans le gestionnaire d'événements EditEnded je détecte si l'utilisateur économise un nouvel élément utilisant ce booléen et définissez les valeurs requises de manière appropriée. Je n'ai pas testé cela complètement et mes propriétés DataForms AutoEdit et AutoCommit sont définies sur false. – TheDuke