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

C# Discussion :

Conseil pour la sauvegarde des sources d'un GridView


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut Conseil pour la sauvegarde des sources d'un GridView
    Bonjour,

    J'ai un formulaire, dans lequel j'ai un GridView, que j’utilise dans le cadre de modification d'une ‘demande’ existante.
    Je peux soit ajouter des lignes à ce GridView, soit modifier ou supprimer (très classique).
    La DataSource du GridView est une List d'objets métier, je me demandais comment gérer les sauvegarde de ses données dans la base surtout les données dans le GridView (Architecture N-tier, appli ASP.NET).

    - Soit dés que j'insère, je modifie ou je supprime, je répercute dans la base (je capte les événements et je modifie la base en même temps que la DataSource).
    - Soit dans un premier temps je ne modifie que le DataSource et au moment ou je confirme les modifications de toute la demande (GridView + autres informations).

    Le seconde me parait la plus propre, mais comment faire pour savoir quelle ligne modifier, quel ligne supprimer, quel autre ajouter et ceux de manière propre ?

    La seconde a l'intérêt de simplifier ce problème et je n'aurai lors de la confirmation de la modification de la demande qu'à répercuter le reste des données, concernant la demande global. Mais ça impliquerai que les infos global et les infos du GridView, se valide en deux temps et se traite plus ou moins indépendamment ...

    J'espère que c'est plus ou moins clair.

    PS : Pour l'instant j'ai ajouté les commandfields dans le gridview mais ça me fait une exception ... "Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation = "true"/> ...
    J'ai pas encore implémenté ces méthodes.

    D'avance merci.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    ta source de donnèes(liste d'objet metier) c'est quelque chose d'entierement personnalisè??

    des objet qui sont propre a ton application



    personnellement je choisis souvent cette methode:

    1) creation et parametrage d'une DataTable
    2) remplir la DataTable avec les infos pre-existante
    3) executer DataTable.AcceptChange()

    4) appliquer la DataTable au DataSource de la grille (mais c'est possible de l'utiliser en mode formulaire avec DataBinding ou manuellement Rows.Add)

    5) l'utilisateur fait ses modification dans toutes les lignes voulu

    6) tu crèè une DataTable temporaire et tu lui dit

    DT_temporair = DataTable.GetChanges()



    tu obtiens maintenant une DataTable contenant les ligne crèè/modifier/supprimer avec toutes les infos

    utilise Row.State pour savoir se qu'il y a eu(Creation,Modif,Suppr...)

    après pas besoin de fair un dessin

    pour toutes les ligne de la table temporaire, si ajout alors, si modif alors....

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    ta source de donnèes(liste d'objet metier) c'est quelque chose d'entierement personnalisè??
    Oui

    J'ai compris les grandes lignes de ta méthode, mais pas le détail il faut que je voix ça de plus prés.

    Est ce que dans ta méthode, tu utilise des 'Objet', ou est ce que tu tape directement dans la base ?
    Le premier DataTable comment tu l'alimente ? Directement par les requêtes SQL ? (Si y a bdd biensure).

    Mais c'est intérescent. Il faut que je teste

    Merci bcp pour ton aide
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Y a t il une personne qui utilise un GridView avec comme source des objets métiers ? Pour savoir comment gérer l'edition, la suppression et l'insertion dans le GridView dans mon cas.

    Merci d'avance.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

Discussions similaires

  1. [C++/Allegro] Conseils pour la sauvegarde de données pour un Zelda
    Par Aspic dans le forum Développement 2D, 3D et Jeux
    Réponses: 29
    Dernier message: 14/11/2010, 17h29
  2. Réponses: 0
    Dernier message: 25/10/2010, 11h50
  3. conseil pour la programmation des modules kernel
    Par rufa11 dans le forum Applications et environnements graphiques
    Réponses: 0
    Dernier message: 25/10/2008, 16h50
  4. Réponses: 6
    Dernier message: 30/01/2008, 00h22
  5. Réponses: 7
    Dernier message: 20/12/2006, 08h06

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