Condividi tramite


BindingSource.Filter Proprietà

Definizione

Ottiene o imposta l'espressione usata per filtrare le righe da visualizzare.

public:
 virtual property System::String ^ Filter { System::String ^ get(); void set(System::String ^ value); };
public virtual string Filter { get; set; }
public virtual string? Filter { get; set; }
member this.Filter : string with get, set
Public Overridable Property Filter As String

Valore della proprietà

Stringa che specifica la modalità con cui vanno filtrate le righe. Il valore predefinito è null.

Implementazioni

Esempio

Nell'esempio seguente viene illustrato come utilizzare la Filter proprietà con un oggetto DataView. Per eseguire questo esempio, incollare il codice in un Windows Form e chiamare PopulateDataViewAndFilter dal costruttore o Load dal metodo di gestione degli eventi del modulo. Il modulo deve importare gli spazi dei System.Xml nomi e System.IO .

private void PopulateDataViewAndFilter()
{
    DataSet set1 = new DataSet();

    // Some xml data to populate the DataSet with.
    string musicXml =
        "<?xml version='1.0' encoding='UTF-8'?>" +
        "<music>" +
        "<recording><artist>Coldplay</artist><cd>X&Y</cd></recording>" +
        "<recording><artist>Dave Matthews</artist><cd>Under the Table and Dreaming</cd></recording>" +
        "<recording><artist>Dave Matthews</artist><cd>Live at Red Rocks</cd></recording>" +
        "<recording><artist>Natalie Merchant</artist><cd>Tigerlily</cd></recording>" +
        "<recording><artist>U2</artist><cd>How to Dismantle an Atomic Bomb</cd></recording>" +
        "</music>";

    // Read the xml.
    StringReader reader = new StringReader(musicXml);
    set1.ReadXml(reader);

    // Get a DataView of the table contained in the dataset.
    DataTableCollection tables = set1.Tables;
    DataView view1 = new DataView(tables[0]);

    // Create a DataGridView control and add it to the form.
    DataGridView datagridview1 = new DataGridView();
    datagridview1.AutoGenerateColumns = true;
    this.Controls.Add(datagridview1);

    // Create a BindingSource and set its DataSource property to
    // the DataView.
    BindingSource source1 = new BindingSource();
    source1.DataSource = view1;

    // Set the data source for the DataGridView.
    datagridview1.DataSource = source1;

    //The Filter string can include Boolean expressions.
    source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'";
}
Private Sub PopulateDataViewAndFilter() 
    Dim set1 As New DataSet()
    
    ' Some xml data to populate the DataSet with.
    Dim musicXml As String = "<?xml version='1.0' encoding='UTF-8'?>" & _
        "<music>" & _
        "<recording><artist>Coldplay</artist><cd>X&Y</cd></recording>" & _
        "<recording><artist>Dave Matthews</artist><cd>Under the Table and Dreaming</cd></recording>" & _
        "<recording><artist>Dave Matthews</artist><cd>Live at Red Rocks</cd></recording>" & _
        "<recording><artist>Natalie Merchant</artist><cd>Tigerlily</cd></recording>" & _
        "<recording><artist>U2</artist><cd>How to Dismantle an Atomic Bomb</cd></recording>" & _
        "</music>"
    
    ' Read the xml.
    Dim reader As New StringReader(musicXml)
    set1.ReadXml(reader)
    
    ' Get a DataView of the table contained in the dataset.
    Dim tables As DataTableCollection = set1.Tables
    Dim view1 As New DataView(tables(0))
    
    ' Create a DataGridView control and add it to the form.
    Dim datagridview1 As New DataGridView()
    datagridview1.AutoGenerateColumns = True
    Me.Controls.Add(datagridview1)
    
    ' Create a BindingSource and set its DataSource property to
    ' the DataView.
    Dim source1 As New BindingSource()
    source1.DataSource = view1
    
    ' Set the data source for the DataGridView.
    datagridview1.DataSource = source1
    
    ' The Filter string can include Boolean expressions.
    source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'"

End Sub

Commenti

In genere usata in scenari di data binding complessi, la Filter proprietà consente di visualizzare un subset di DataSource. Solo gli elenchi sottostanti che implementano l'interfaccia supportano il IBindingListView filtro.

Quando Filter non nullè , la BindingSource proprietà passa questa proprietà all'elenco sottostante. Se si imposta questa proprietà durante l'inizializzazione dell'oggetto, la chiamata verrà posticipata fino al completamento dell'inizializzazione.

Per formare un valore di filtro, specificare il nome di una colonna seguita da un operatore e un valore da filtrare. La sintassi del filtro accettata dipende dall'origine dati sottostante. Se l'origine dati sottostante è un DataSetoggetto , DataTableo DataView, è possibile specificare espressioni booleane usando la sintassi documentata per la DataColumn.Expression proprietà .

Il valore della Filter proprietà influisce sul valore della Count proprietà. Inoltre, il Filter valore verrà mantenuto quando l'origine dati viene modificata. Per interrompere il filtro di DataSource, chiamare il RemoveFilter metodo .

Si applica a

Vedi anche