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 :

Lier un DataTable avec une collection typee


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut Lier un DataTable avec une collection typee
    Salut

    J'ai une DataTable Table1 typee dont un champs 'cleEtrangere' est liee a une autre table Table2.
    Plusieurs autres champs de Table1 pointent directement sur des champs de Table2 en mettant a jour le champ Expression au niveau de la DataColumn.
    Dans le xsd ca se presente comme ceci :
    <xs:element name="colonne1"
    ...
    msdata:Expression="parent(cleEtrangere).colonne_dans_Table2" />

    Je voudrais me debarasser de Table2 pour utiliser une collection generique a la place, mais je ne veux pas avoir a remplir manuellement les valeurs des champs, il faut que la table accede a la collection a chaque fois qu'on essaye d'acceder a un de ces champs.

    Le champ cleEtrangere pointerait vers la collection.

    Pour les autres champs lies je mettrai a jour l'expression de cette facon:
    Expression="maCollection(cleEtrangere).champs"

    Est-ce qu'il est possible de specialiser soit DataColumn ou DataTable pour interpreter soi meme les valeurs de Expression et mettre a jour la table ?

    Un peu galere d'essayer d'integrer autre chose que du DataTable avec ADO.NET

    Olivier

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par osteinme Voir le message
    Est-ce qu'il est possible de specialiser soit DataColumn ou DataTable pour interpreter soi meme les valeurs de Expression et mettre a jour la table ?
    Je ne pense pas que ce soit possible, ou en tous cas pas simplement...
    En regardant un peu avec Reflector, j'ai l'impression que le boulot d'évaluation des expressions est fait dans une classe DataExpression, qui est internal et sealed, donc pas moyen d'en hériter pour personnaliser le traitement.

    Citation Envoyé par osteinme Voir le message
    Un peu galere d'essayer d'integrer autre chose que du DataTable avec ADO.NET
    Ben c'est pas fait pour ça

    Pourquoi tu veux utiliser une collection à la place d'un DataTable en fait ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    Merci pour la reponse.

    Citation Envoyé par tomlev Voir le message
    Pourquoi tu veux utiliser une collection à la place d'un DataTable en fait ?
    J'ai sorti une partie des donnees pour rendre accessible a partir d'un Web Service.
    Le Web Service me retourne des collections d'objets, que je n'ai pas envie de convertir en DataTable, l'application doit pointer directement sur la donnee plutot que de la repliquer.
    En fait il est preferable a mon sens de s'eloigner des DataTable/DataRow et d'utiliser plutot des classes simples pour isoler la logique business.

    Effectivement essayer de modifier le comportement de Expression c'est peine perdue.
    En fait dans notre application chaque DataRow typee est heritee en un 'DataObject'.
    Maintenant j'essaie de specialiser les getters des DataObjects lorsqu'ils doivent pointer vers la collection.

    Par contre ca n'aide pas quand on plaque directement la DataTable sur une grille, en interne ADO n'appelle pas mes getters.

Discussions similaires

  1. Remplir un DataTable avec une collection (Dictionnaire)
    Par dragondumond dans le forum VB.NET
    Réponses: 7
    Dernier message: 04/06/2013, 13h18
  2. lier un combo avec une zone de texte
    Par joss56 dans le forum IHM
    Réponses: 2
    Dernier message: 28/11/2006, 16h11
  3. [C#] Comment lier un label avec une DataSource ?
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 3
    Dernier message: 29/08/2006, 14h17
  4. [MFC ?] lier un javascript avec une application
    Par hiko-seijuro dans le forum MFC
    Réponses: 8
    Dernier message: 10/11/2005, 14h50
  5. [Plugin] Créer un modèle et lier un éditeur avec une vue
    Par freekk91 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 27/03/2005, 20h00

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