Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DataTable.Select (String, String, DataViewRowState)

 

Data di pubblicazione: ottobre 2016

Ottiene una matrice di tutti DataRow gli oggetti che corrispondono al filtro sequenza di ordinamento che corrispondono allo stato specificato.

Spazio dei nomi:   System.Data
Assembly:  System.Data (in System.Data.dll)

public DataRow[] Select(
	string filterExpression,
	string sort,
	DataViewRowState recordStates
)

Parametri

filterExpression
Type: System.String

I criteri da utilizzare per filtrare le righe. Per esempi su come per filtrare le righe, vedere DataView RowFilter Syntax [C#].

sort
Type: System.String

Una stringa che specifica la direzione di colonna e l'ordinamento.

recordStates
Type: System.Data.DataViewRowState

Uno dei valori di DataViewRowState.

Valore restituito

Type: System.Data.DataRow[]

Matrice di oggetti DataRow.

Form di filterExpression argomento, utilizzare le stesse regole per la creazione di DataColumn della classe Expression valore della proprietà. Il Sort anche l'argomento utilizza le stesse regole per la creazione della classe Expression stringhe.

Se la colonna al filtro contiene un valore null, non sarà parte del risultato.

Nell'esempio seguente viene utilizzato uno stato di espressione e il record di filtro per restituire una matrice di DataRow oggetti.

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

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: