DataTable.Select Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient un tableau d’objets DataRow.
Surcharges
Select() |
Obtient un tableau de tous les objets DataRow. |
Select(String) |
Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre. |
Select(String, String) |
Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre, dans l'ordre de tri spécifié. |
Select(String, String, DataViewRowState) |
Obtient un tableau de tous les objets DataRow qui correspondent au filtre et à l'état spécifié, dans l'ordre de tri. |
Select()
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
Obtient un tableau de tous les objets DataRow.
public:
cli::array <System::Data::DataRow ^> ^ Select();
public System.Data.DataRow[] Select ();
member this.Select : unit -> System.Data.DataRow[]
Public Function Select () As DataRow()
Retours
Tableau d'objets DataRow.
Exemples
L’exemple suivant retourne un tableau d’objets DataRow via la Select méthode .
private void GetRows()
{
// Get the DataTable of a DataSet.
DataTable table = DataSet1.Tables["Suppliers"];
DataRow[] rows = table.Select();
// Print the value one column of each DataRow.
for(int i = 0; i < rows.Length ; i++)
{
Console.WriteLine(rows[i]["CompanyName"]);
}
}
Private Sub GetRows()
' Get the DataTable of a DataSet.
Dim table As DataTable = DataSet1.Tables("Suppliers")
Dim rows() As DataRow = table.Select()
Dim i As Integer
' Print the value one column of each DataRow.
For i = 0 to rows.GetUpperBound(0)
Console.WriteLine(rows(i)("CompanyName"))
Next i
End Sub
Remarques
Pour garantir l’ordre de tri approprié, spécifiez des critères de tri avec Select(String, String) ou Select(String, String, DataViewRowState).
Voir aussi
S’applique à
Select(String)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression);
public System.Data.DataRow[] Select (string? filterExpression);
public System.Data.DataRow[] Select (string filterExpression);
member this.Select : string -> System.Data.DataRow[]
Public Function Select (filterExpression As String) As DataRow()
Paramètres
- filterExpression
- String
Critères à utiliser pour filtrer les lignes.
Retours
Tableau d'objets DataRow.
Exemples
L’exemple suivant utilise une expression de filtre pour renvoyer un tableau d’objets DataRow .
private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression;
expression = "Date > #1/1/00#";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression);
// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
Private Sub GetRowsByFilter()
Dim table As DataTable = DataSet1.Tables("Orders")
' Presuming the DataTable has a column named Date.
Dim expression As String
expression = "Date > #1/1/00#"
Dim foundRows() As DataRow
' Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression)
Dim i As Integer
' Print column 0 of each returned row.
For i = 0 to foundRows.GetUpperBound(0)
Console.WriteLine(foundRows(i)(0))
Next i
End Sub
Remarques
Pour créer l’argumentfilterExpression
, utilisez les mêmes règles que celles qui s’appliquent à la valeur de propriété de Expression la DataColumn classe pour créer des filtres.
Pour garantir l’ordre de tri approprié, spécifiez des critères de tri avec Select(String, String) ou Select(String, String, DataViewRowState).
Si la colonne du filtre contient une valeur null, elle ne fera pas partie du résultat.
Voir aussi
S’applique à
Select(String, String)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre, dans l'ordre de tri spécifié.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort);
public System.Data.DataRow[] Select (string? filterExpression, string? sort);
public System.Data.DataRow[] Select (string filterExpression, string sort);
member this.Select : string * string -> System.Data.DataRow[]
Public Function Select (filterExpression As String, sort As String) As DataRow()
Paramètres
- filterExpression
- String
Critères à utiliser pour filtrer les lignes.
- sort
- String
Chaîne spécifiant la colonne et le sens du tri.
Retours
Tableau d'objets DataRow correspondant à l'expression de filtre.
Exemples
L’exemple suivant utilise une expression de filtre pour renvoyer un tableau d’objets DataRow .
using System;
using System.Data;
public class A {
public static void Main() {
DataTable table = new DataTable("Orders");
table.Columns.Add("OrderID", typeof(Int32));
table.Columns.Add("OrderQuantity", typeof(Int32));
table.Columns.Add("CompanyName", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
DataRow newRow = table.NewRow();
newRow["OrderID"] = 1;
newRow["OrderQuantity"] = 3;
newRow["CompanyName"] = "NewCompanyName";
newRow["Date"] = "1979, 1, 31";
// Add the row to the rows collection.
table.Rows.Add(newRow);
DataRow newRow2 = table.NewRow();
newRow2["OrderID"] = 2;
newRow2["OrderQuantity"] = 2;
newRow2["CompanyName"] = "NewCompanyName1";
table.Rows.Add(newRow2);
DataRow newRow3 = table.NewRow();
newRow3["OrderID"] = 3;
newRow3["OrderQuantity"] = 2;
newRow3["CompanyName"] = "NewCompanyName2";
table.Rows.Add(newRow3);
// Presuming the DataTable has a column named Date.
string expression = "Date = '1/31/1979' or OrderID = 2";
// string expression = "OrderQuantity = 2 and OrderID = 2";
// Sort descending by column named CompanyName.
string sortOrder = "CompanyName ASC";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);
// Print column 0 of each returned row.
for (int i = 0; i < foundRows.Length; i++)
Console.WriteLine(foundRows[i][2]);
}
}
Imports System.Data
Public Class A
Public Shared Sub Main()
Dim table As New DataTable("Orders")
table.Columns.Add("OrderID", GetType(Int32))
table.Columns.Add("OrderQuantity", GetType(Int32))
table.Columns.Add("CompanyName", GetType(String))
table.Columns.Add("Date", GetType(DateTime))
Dim newRow As DataRow = table.NewRow()
newRow("OrderID") = 1
newRow("OrderQuantity") = 3
newRow("CompanyName") = "NewCompanyName"
newRow("Date") = "1979, 1, 31"
' Add the row to the rows collection.
table.Rows.Add(newRow)
Dim newRow2 As DataRow = table.NewRow()
newRow2("OrderID") = 2
newRow2("OrderQuantity") = 2
newRow2("CompanyName") = "NewCompanyName1"
table.Rows.Add(newRow2)
Dim newRow3 As DataRow = table.NewRow()
newRow3("OrderID") = 3
newRow3("OrderQuantity") = 2
newRow3("CompanyName") = "NewCompanyName2"
table.Rows.Add(newRow3)
' Presuming the DataTable has a column named Date.
Dim expression As String = "Date = '1/31/1979' or OrderID = 2"
' Dim expression As String = "OrderQuantity = 2 and OrderID = 2"
' Sort descending by column named CompanyName.
Dim sortOrder As String = "CompanyName ASC"
Dim foundRows As DataRow()
' Use the Select method to find all rows matching the filter.
foundRows = table.[Select](expression, sortOrder)
' Print column 0 of each returned row.
For i As Integer = 0 To foundRows.Length - 1
Console.WriteLine(foundRows(i)(2))
Next
End Sub
End Class
Remarques
Pour former l’argument filterExpression
, utilisez les mêmes règles pour créer la valeur de propriété de la DataColumnExpression classe. L’argument Sort
utilise également les mêmes règles pour créer les chaînes de la Expression classe.
Si la colonne du filtre contient une valeur null, elle ne fera pas partie du résultat.
Voir aussi
S’applique à
Select(String, String, DataViewRowState)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
Obtient un tableau de tous les objets DataRow qui correspondent au filtre et à l'état spécifié, dans l'ordre de tri.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort, System::Data::DataViewRowState recordStates);
public System.Data.DataRow[] Select (string? filterExpression, string? sort, System.Data.DataViewRowState recordStates);
public System.Data.DataRow[] Select (string filterExpression, string sort, System.Data.DataViewRowState recordStates);
member this.Select : string * string * System.Data.DataViewRowState -> System.Data.DataRow[]
Public Function Select (filterExpression As String, sort As String, recordStates As DataViewRowState) As DataRow()
Paramètres
- filterExpression
- String
Critères à utiliser pour filtrer les lignes.
- sort
- String
Chaîne spécifiant la colonne et le sens du tri.
- recordStates
- DataViewRowState
Une des valeurs de l'objet DataViewRowState.
Retours
Tableau d'objets DataRow.
Exemples
L’exemple suivant utilise une expression de filtre et un état d’enregistrement pour renvoyer un tableau d’objets DataRow .
private static void GetRowsByFilter()
{
DataTable customerTable = new DataTable("Customers");
// Add columns
customerTable.Columns.Add("id", typeof(int));
customerTable.Columns.Add("name", typeof(string));
// Set PrimaryKey
customerTable.Columns[ "id" ].Unique = true;
customerTable.PrimaryKey = new DataColumn[]
{ customerTable.Columns["id"] };
// Add ten rows
for(int id=1; id<=10; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}
customerTable.AcceptChanges();
// Add another ten rows
for(int id=11; id<=20; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}
string expression;
string sortOrder;
expression = "id > 5";
// Sort descending by column named CompanyName.
sortOrder = "name DESC";
// Use the Select method to find all rows matching the filter.
DataRow[] foundRows =
customerTable.Select(expression, sortOrder,
DataViewRowState.Added);
PrintRows(foundRows, "filtered rows");
foundRows = customerTable.Select();
PrintRows(foundRows, "all rows");
}
private static void PrintRows(DataRow[] rows, string label)
{
Console.WriteLine("\n{0}", label);
if(rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach(DataRow row in rows)
{
foreach(DataColumn column in row.Table.Columns)
{
Console.Write("\table {0}", row[column]);
}
Console.WriteLine();
}
}
Private Sub GetRowsByFilter()
Dim customerTable As New DataTable("Customers")
' Add columns
customerTable.Columns.Add("id", GetType(Integer))
customerTable.Columns.Add("name", GetType(String))
' Set PrimaryKey
customerTable.Columns("id").Unique = True
customerTable.PrimaryKey = New DataColumn() _
{customerTable.Columns("id")}
' add ten rows
Dim id As Integer
For id = 1 To 10
customerTable.Rows.Add( _
New Object() {id, String.Format("customer{0}", id)})
Next id
customerTable.AcceptChanges()
' add another ten rows
For id = 11 To 20
customerTable.Rows.Add( _
New Object() {id, String.Format("customer{0}", id)})
Next id
Dim expression As String
Dim sortOrder As String
expression = "id > 5"
' Sort descending by CompanyName column.
sortOrder = "name DESC"
' Use the Select method to find all rows matching the filter.
Dim foundRows As DataRow() = _
customerTable.Select(expression, sortOrder, _
DataViewRowState.Added)
PrintRows(foundRows, "filtered rows")
foundRows = customerTable.Select()
PrintRows(foundRows, "all rows")
End Sub
Private Sub PrintRows(ByVal rows() As DataRow, ByVal label As String)
Console.WriteLine("\n{0}", label)
If rows.Length <= 0 Then
Console.WriteLine("no rows found")
Exit Sub
End If
Dim row As DataRow
Dim column As DataColumn
For Each row In rows
For Each column In row.Table.Columns
Console.Write("\table {0}", row(column))
Next column
Console.WriteLine()
Next row
End Sub
Remarques
Pour former l’argument filterExpression
, utilisez les mêmes règles pour créer la valeur de propriété de la DataColumnExpression classe. L’argument Sort
utilise également les mêmes règles pour créer les chaînes de la Expression classe.
Si la colonne du filtre contient une valeur null, elle ne fera pas partie du résultat.