2010-01-05 6 views
0

Je viens du monde de Delphi et je veux faire une interface maître/détail, comme la commande et les produits.
J'ai déjà fait des actions pour afficher les données en utilisant des champs et un jqGrid. Ce que je veux savoir, c'est comment rendre possible l'ajout de lignes, les modifier ou les supprimer, mais il suffit de faire les changements dans db lorsque l'utilisateur confirme les changements dans le master.
Sur delphi j'utiliser un TClientDataSet avec tous les des changements de mémoire et juste après la confirmation serait de les exécuter dans une transaction comme:
BEGIN
Master.Post
FOREACH Line IN Lines Line.Post
COMMIT

Donc résumé, je ne sais pas comment garder en mémoire l'ensemble de lignes dans la grille et comment les renvoyer au serveur pour commettre.
Toute aide sera appréciée. Merci d'avance.Master-Detail avec jqGrid + Asp.Net MVC et transaction

Répondre

0

Vous aurez besoin de garder une trace des changements côté client, en utilisant peut-être des champs cachés et/ou des champs de formulaire dans votre grille. Quand une ligne est supprimée (qui existait auparavant dans la base de données), vous devez ajouter son identifiant à un champ contenant des lignes à supprimer. Les lignes ajoutées doivent avoir des champs de formulaire associés contenant leurs données. Lorsque le maître est validé, vous faites rouler l'ensemble des champs dans un POST et renvoyez-le au serveur. En utilisant LINQ to SQL, vous créez un contexte de données, récupérez l'objet maître, puis supprimez les objets associés (du champ caché des identifiants) qui sont ainsi marqués et créez/ajoutez de nouveaux objets associés qui n'ont pas été ajoutés. exister avant de prendre les valeurs des champs de formulaire appropriés. Ensuite, vous feriez un SubmitChanges et toutes les instructions seraient exécutées dans une seule transaction.

Questions connexes