DataTable.Select DataTable.Select DataTable.Select DataTable.Select Method

Definizione

Ottiene una matrice di oggetti DataRow.Gets an array of DataRow objects.

Overload

Select() Select() Select() Select()

Ottiene una matrice di tutti gli oggetti DataRow.Gets an array of all DataRow objects.

Select(String) Select(String) Select(String) Select(String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro.Gets an array of all DataRow objects that match the filter criteria.

Select(String, String) Select(String, String) Select(String, String) Select(String, String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro, in base al criterio di ordinamento specificato.Gets an array of all DataRow objects that match the filter criteria, in the specified sort order.

Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState)

Ottiene una matrice di tutti gli oggetti DataRow che corrispondono al filtro in base all'ordinamento specificato e che corrispondono allo stato specificato.Gets an array of all DataRow objects that match the filter in the order of the sort that match the specified state.

Select() Select() Select() Select()

Ottiene una matrice di tutti gli oggetti DataRow.Gets an array of all DataRow objects.

public:
 cli::array <System::Data::DataRow ^> ^ Select();
public System.Data.DataRow[] Select ();
member this.Select : unit -> System.Data.DataRow[]
Public Function Select () As DataRow()

Restituisce

Matrice di oggetti DataRow.An array of DataRow objects.

Esempi

Nell'esempio seguente viene restituita una DataRow matrice di oggetti Select tramite il metodo.The following example returns an array of DataRow objects through the Select method.

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

Commenti

Per garantire l'ordinamento corretto, specificare i criteri di ordinamento Select(String, String) con Select(String, String, DataViewRowState)o.To ensure the proper sort order, specify sort criteria with Select(String, String) or Select(String, String, DataViewRowState).

Vedi anche

Select(String) Select(String) Select(String) Select(String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro.Gets an array of all DataRow objects that match the filter criteria.

public:
 cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression);
public System.Data.DataRow[] Select (string filterExpression);
member this.Select : string -> System.Data.DataRow[]
Public Function Select (filterExpression As String) As DataRow()

Parametri

filterExpression
String String String String

Criteri da utilizzare per filtrare le righe.The criteria to use to filter the rows. Per esempi di come filtrare le righe, vedere DataView RowFilter Syntax [C#] (Sintassi di DataView RowFilter [C#]).For examples on how to filter rows, see DataView RowFilter Syntax [C#].

Restituisce

Matrice di oggetti DataRow.An array of DataRow objects.

Esempi

Nell'esempio seguente viene utilizzata un'espressione di filtro per restituire una DataRow matrice di oggetti.The following example uses a filter expression to return an array of DataRow objects.

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

Commenti

Per creare l' filterExpression argomento, utilizzare le stesse regole applicabili al valore della DataColumn Expression proprietà della classe per la creazione di filtri.To create the filterExpression argument, use the same rules that apply to the DataColumn class's Expression property value for creating filters.

Per garantire l'ordinamento corretto, specificare i criteri di ordinamento Select(String, String) con Select(String, String, DataViewRowState)o.To ensure the proper sort order, specify sort criteria with Select(String, String) or Select(String, String, DataViewRowState).

Se la colonna nel filtro contiene un valore null, non sarà inclusa nel risultato.If the column on the filter contains a null value, it will not be part of the result.

Vedi anche

Select(String, String) Select(String, String) Select(String, String) Select(String, String)

Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro, in base al criterio di ordinamento specificato.Gets an array of all DataRow objects that match the filter criteria, in the specified sort order.

public:
 cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::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()

Parametri

filterExpression
String String String String

Criteri da utilizzare per filtrare le righe.The criteria to use to filter the rows. Per esempi di come filtrare le righe, vedere DataView RowFilter Syntax [C#] (Sintassi di DataView RowFilter [C#]).For examples on how to filter rows, see DataView RowFilter Syntax [C#].

sort
String String String String

Stringa che specifica la colonna e la direzione dell'ordinamento.A string specifying the column and sort direction.

Restituisce

Matrice di oggetti DataRow corrispondenti all'espressione di filtro.An array of DataRow objects matching the filter expression.

Esempi

Nell'esempio seguente viene utilizzata un'espressione di filtro per restituire una DataRow matrice di oggetti.The following example uses a filter expression to return an array of DataRow objects.

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

Commenti

Per formare l' filterExpression argomento, utilizzare le stesse regole per la creazione DataColumn del valore Expression della proprietà della classe.To form the filterExpression argument, use the same rules for creating the DataColumn class's Expression property value. L' Sort argomento usa anche le stesse regole per la creazione di Expression stringhe della classe.The Sort argument also uses the same rules for creating class's Expression strings.

Se la colonna nel filtro contiene un valore null, non sarà inclusa nel risultato.If the column on the filter contains a null value, it will not be part of the result.

Vedi anche

Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState) Select(String, String, DataViewRowState)

Ottiene una matrice di tutti gli oggetti DataRow che corrispondono al filtro in base all'ordinamento specificato e che corrispondono allo stato specificato.Gets an array of all DataRow objects that match the filter in the order of the sort that match the specified state.

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);
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()

Parametri

filterExpression
String String String String

Criteri da utilizzare per filtrare le righe.The criteria to use to filter the rows. Per esempi di come filtrare le righe, vedere DataView RowFilter Syntax [C#] (Sintassi di DataView RowFilter [C#]).For examples on how to filter rows, see DataView RowFilter Syntax [C#].

sort
String String String String

Stringa che specifica la colonna e la direzione dell'ordinamento.A string specifying the column and sort direction.

Restituisce

Matrice di oggetti DataRow.An array of DataRow objects.

Esempi

Nell'esempio seguente viene utilizzata un'espressione di filtro e uno stato di record per DataRow restituire una matrice di oggetti.The following example uses a filter expression and record state to return an array of DataRow objects.

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

Commenti

Per formare l' filterExpression argomento, utilizzare le stesse regole per la creazione DataColumn del valore Expression della proprietà della classe.To form the filterExpression argument, use the same rules for creating the DataColumn class's Expression property value. L' Sort argomento usa anche le stesse regole per la creazione di Expression stringhe della classe.The Sort argument also uses the same rules for creating class's Expression strings.

Se la colonna nel filtro contiene un valore null, non sarà inclusa nel risultato.If the column on the filter contains a null value, it will not be part of the result.

Vedi anche

Si applica a