BindingSource.Filter Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 .