Question

En C # & amp; .NET, peut-on créer un DataView qui n'inclut qu'un sous-ensemble approprié du DataColumn d'un DataTable donné ?

En termes d’algèbre relationnelle, on affecte un RowFilter afin d’effectuer une "sélection". opération (s). Comment effectuer une "projection"? opération (p)?

Était-ce utile?

La solution

Vous ne pouvez pas faire cela, mais vous pouvez créer une copie du tableau avec uniquement les colonnes souhaitées:

DataView view = new DataView(table);
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn");

Vous pouvez éventuellement renvoyer des lignes ayant des valeurs distinctes pour les colonnes sélectionnées:

DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");

Autres conseils

Eh bien, je ne vois aucune raison de "vouloir" " faire cela ... Rappelez-vous, un DataView est juste une liste de pointeurs vers les lignes de la table d'origine, et il n'y a évidemment aucun moyen de supprimer des colonnes de la table d'origine ... du moins pas sans affecter toutes les autres fonctions utilisant cette table ... Utilisez seulement les colonnes que vous voulez ...

créez une vue aux données en échangeant d’une table à l’autre et utilisez dtswap comme source de données.

DataView dw = new DataView(dtfee);
            DataTable dtswap = new DataTable();
            dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");

DataSet et ses types associés n'ont pas la capacité d'effectuer des opérations relationnelles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top