J'ai une page avec deux contrôles, une grille de données et un formulaire de données.Silverlight dataform currentitem issue
Dans la grille de données, j'ai une liste de tous les objets d'une certaine classe. Lorsqu'un utilisateur sélectionne un élément dans la grille de données, le formulaire est chargé avec l'objet sélectionné.
dataForm.CurrentItem = view.CurrentItem; view est un PagedCollectionView qui contient uniquement l'élément sélectionné.
Mon problème est, lors de la définition de la propriété currenitem du formulaire de données, si j'utilise uniquement PagedCollectionView (vue) sans .CurrentItem, je perds la validation sur le formulaire de données. Tous les champs requis ne sont pas considérés comme requis. Si j'utilise pcv.CurrentItem alors que la validation CurrentItem de mon formulaire fonctionne correctement, un autre problème se pose.
Lors de l'utilisation de l'élément en cours PagedCollectionView comme élément actif du groupe de données:
Un utilisateur sélectionne un élément dans la grille et l'objet est chargé bien dans le groupe de données. Si un utilisateur modifie une certaine valeur dans l'un des champs de texte du formulaire, puis sélectionne un autre élément pour charger le formulaire, l'erreur suivante est générée:
"Impossible de changer la devise lorsqu'un élément comporte des erreurs de validation ou qu'il est En cours de modification et AutoCommit est faux. Définissez ItemsSource à ICollectionView pour gérer la devise à la place. " Je n'utilise pas les propriétés de pagination du formulaire de données et j'ai mon propre bouton de sauvegarde sur le formulaire.
J'apprécierais toute aide, ceci est mon premier projet de silverlight sur lequel je travaille. Edit-J'ai utilisé dataform.CommitEdit lors de la modification de l'adresse courante du dataform. Une chose que cela n'a pas résolu est s'il y a une erreur de validation sur le formulaire, l'erreur de devise est levée. Y at-il de toute façon à contourner cela. AutoEdit est vrai et AutoCommit est faux pour le formulaire
Salut Chris, merci pour la suggestion. J'ai essayé cette méthode et j'ai toujours la même erreur. – user531958
J'ai essayé ce que Jhelumi a fait dans son poste (semble que nous avions le même problème) http://stackoverflow.com/questions/3969588/silverlight-4-and-dataform-and-currenitem-and-autocommit – user531958
Et cela semble avoir résolu le problème. Merci beaucoup si – user531958