web-dev-qa-db-fra.com

Quelle est la différence entre dataview et datatable?

Quelle est la différence entre DataView et DataTable dans .Net? Pour autant que je sache, DataView n'est qu'une fausse présentation de DataTable. Quand dois-je utiliser DataView?

Merci d'avance.

41
kevin

Lorsque vous souhaitez exécuter une requête et afficher le sous-ensemble de données dans un contrôle, un DataView peut vous aider. Ce n'est qu'un exemple, regardez exemple MSDN pour DataView , qui explique où vous devez utiliser DataViews avec DataTables ...

DataTable

Une table de données est une représentation en mémoire d'une seule table de base de données. Vous pouvez le considérer comme ayant des colonnes et des lignes de la même manière. Le DataTable est un objet central dans la bibliothèque ADO.NET. D'autres objets qui utilisent le DataTable incluent le DataSet et le DataView.

Regardez MSDN The DataTable class pour plus de détails.

DataView

Une vue de données est une vue sur une table de données, un peu comme une vue SQL. Il vous permet de filtrer et de trier les lignes - souvent pour la liaison à un contrôle de formulaire Windows.

De plus, un DataView peut être personnalisé pour présenter un sous-ensemble de données du DataTable. Cette capacité vous permet d'avoir deux contrôles liés au même DataTable, mais affichant différentes versions des données. Par exemple, un contrôle peut être lié à un DataView affichant toutes les lignes du tableau, tandis qu'un second peut être configuré pour afficher uniquement les lignes qui ont été supprimées du DataTable. Le DataTable possède également une propriété DefaultView qui renvoie le DataView par défaut de la table.

Regardez MSDN classe DataView pour plus de détails.

47
CharithJ

DataTable signifie une représentation de table unique tandis qu'un DataSet est une représentation de plusieurs tables.

Cela signifie qu'en utilisant DataTable nous ne pouvons contenir qu'une seule table de la base de données, si nous utilisons DataSet nous pouvons contenir plusieurs tables à la fois ...

DataView signifie la vue des données disponibles dans DataSet... (vue de la table disponible dans DataSet) il est utilisé pour rechercher un enregistrement, trier, filtrer l'enregistrement ... en utilisant DataView.

7
SUNIL

vous pouvez avoir un filtrage sur DataTable avec DataView. par exemple, si vous avez un DataSet qui inclut tous les paramètres, vous pouvez trouver l'un des paramètres avec DataView:

DataView dv = new DataView();
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows);
6
masoud ramezani