2010-11-12 17 views
0

J'essaie actuellement d'implémenter une page avec des opérations CRUD pour Entity.Silverlight DataGrid inline Ajouter avec MVVM

Imaginons que nous avons appelé le modèle utilisateur avec des propriétés:

Nom,

Nom,

Âge,

IsMarried,

HomeAdress.

Je vais montrer tous ces champs dans DataGrid sur UserInfoView. La grille devrait prendre en charge l'ajout et la modification en ligne.

Je suis parti de cet exemple:

http://blogs.msdn.com/b/brada/archive/2009/10/27/index-for-business-apps-example-for-silverlight-3-rtm-and-net-ria-services-july-update.aspx

et dans mon UserInfoViewModel j'ai bien UserCollection de type EntityCollectionView lié à DataGrid.ItemsSource.

Dans le cas où j'ajoute un nouvel élément dans UserCollection dans ma grille, l'élément correspondant est affiché en bas de la grille, est-il possible de l'afficher en haut de la grille?

Il existe également un moyen d'entrer immédiatement dans l'état d'édition pour la ligne nouvellement ajoutée. (La ligne récemment ajoutée est sélectionnée mais n'est pas en état d'édition.)

Répondre

0

Vous pouvez faire défiler votre nouvelle ligne pour afficher en utilisant la méthode dataGrid.ScrollToView. Si vous souhaitez afficher l'élément nouvellement ajouté en tant que premier élément dans la grille, insérez l'élément à la première position dans votre collection d'entités.

Pour entrer dans l'état d'édition, vous pouvez utiliser la méthode dataGrid.BeginEdit. Cette méthode peut être appelée après avoir défini l'élément sélectionné comme nouvel élément ajouté.