Partager via


Création d'un DataView

Il existe deux façons de créer un objet DataView. Vous pouvez utiliser le constructeur de DataView ou créer une référence à la propriété DefaultView de l’objet DataTable. Le constructeur de DataView peut être vide, mais il peut également accepter soit un DataTable comme argument unique, soit un DataTable avec des critères de filtre, des critères de tri et un filtre d’état de ligne. Pour plus d’informations sur les autres arguments que vous pouvez utiliser avec le DataView, consultez Tri et filtrage de données.

Étant donné que l’index d’un DataView est généré à la création du DataView, mais aussi lorsque l’une des propriétés Sort, RowFilter ou RowStateFilter est modifiée, vous obtiendrez de meilleures performances si vous fournissez un ordre de tri ou des critères de filtre initiaux comme arguments pour le constructeur lorsque vous créez le DataView. La création d’un DataView sans spécifier de critère de tri ou de filtre et la définition ultérieure des propriétés Sort, RowFilter ou RowStateFilter entraînent la construction de l’index deux fois au moins : une fois lors de la création du DataView, puis à nouveau lorsqu’une des propriétés de tri ou de filtrage est modifiée.

Notez que si vous créez un DataView à l’aide du constructeur sans argument, vous ne serez en mesure d’utiliser le DataView qu’après avoir défini la propriété Table.

L’exemple de code suivant montre comment créer un DataView à l’aide du constructeur de DataView. Un RowFilter, une colonne Sort et un DataViewRowState sont fournis avec le DataTable.

Dim custDV As DataView = New DataView(custDS.Tables("Customers"), _  
    "Country = 'USA'", _  
    "ContactName", _  
    DataViewRowState.CurrentRows)  
DataView custDV = new DataView(custDS.Tables["Customers"],
    "Country = 'USA'",
    "ContactName",
    DataViewRowState.CurrentRows);  

L’exemple de code suivant montre comment obtenir une référence au DataView par défaut d’un DataTable à l’aide de la propriété DefaultView de la table.

Dim custDV As DataView = custDS.Tables("Customers").DefaultView  
DataView custDV = custDS.Tables["Customers"].DefaultView;  

Voir aussi