2009-07-24 5 views
0

Tout le monde se réjouit de BindingList à la place de DataTable.BindingList et la flexibilité des colonnes

Comment vous, les gars, surmontez-vous le problème de la flexibilité des colonnes? Pour BindingList, je dois définir et implémenter l'objet T. Si de nouvelles colonnes doivent être ajoutées, j'ai besoin d'ajouter de nouvelles propriétés à l'objet T .... alors que dans DataTable c'est beaucoup plus facile.

BindingList<T> samples = new BindingList<T>(); 

Est-ce quelque chose que vous vivez avec ou y a-t-il un moyen relativement facile de surmonter quelque chose?

en utilisant C# 2.0, structure compacte.

Répondre

1

Il existe toujours des avantages (occasionnels) à l'utilisation de DataTable - et la flexibilité des colonnes en fait partie. Cela étant dit, il y a aussi des inconvénients.

Une petite comparaison des avantages et des inconvénients de chacun est indiquée dans this blog post.

Ma règle de base personnelle consiste à utiliser BindingList<T> pour lier à une collection d'objets métier. Dans ce cas, le problème de colonne disparaît (vous connaissez déjà les colonnes qui sont utiles à l'avance), et cela semble beaucoup plus naturel.

DataTable est toujours utile si vous liez une chose inconnue et essayez d'effectuer l'analyse lors de l'exécution.

+0

Merci. Mon scénario est que je sais à l'avance ce que je vais analyser. Mais les objets métier seraient assez complexes à transmettre si je décidais d'aller avec la BindingList . Mais d'un autre côté, je peux voir beaucoup d'avantages sur la route. voici ma question qui décrit mon scénario http://stackoverflow.com/questions/1173359/from-datatable-to-bindinglist/1173942#1173942 – sarsnake

Questions connexes