|
CSV Engine Documentation Contents
|
Filter class is available in commercial version only. Filter defines parameters for matching against Row data. For a list of all members of this type, see Filter Members.
System.Object
[Visual Basic]
NotInheritable Public Class Filter
[C#]
public sealed class Filter
RemarksFilter class is available in commercial version only. Example
This example uses a filter to write only those rows in the results where the second column has the value 'Brown'. C# example:Writer csvWriter = new Writer(@"c:\temp\test.csv");
Filter dataFilter = new Filter();
//zero based
dataFilter.AddCondition(1, "^Brown$");
ArrayList animalList = new ArrayList();
Row dataRow = new Row();
dataRow.AddValue("Cat");
dataRow.AddValue("Grey");
dataRow.AddValue("Tabby");
animalList.Add(dataRow);
dataRow = new Row();
dataRow.AddValue("Cat");
dataRow.AddValue("Brown");
dataRow.AddValue("Havana");
animalList.Add(dataRow);
dataRow = new Row();
dataRow.AddValue("Dog");
dataRow.AddValue("Brown");
dataRow.AddValue("Retriever");
animalList.Add(dataRow);
foreach(Row saveRow in animalList)
{
if(dataFilter.Evaluate(saveRow))
{
csvWriter.Write(saveRow);
}
}
csvWriter.Close();
VB example: Dim csvWriter As New Writer("c:\temp\test.csv")
Dim dataFilter As New Filter
'zero based
dataFilter.AddCondition(1, "^Brown$")
Dim animalList As New ArrayList
Dim dataRow As New Row
dataRow.AddValue("Cat")
dataRow.AddValue("Grey")
dataRow.AddValue("Tabby")
animalList.Add(dataRow)
dataRow = New Row
dataRow.AddValue("Cat")
dataRow.AddValue("Brown")
dataRow.AddValue("Havana")
animalList.Add(dataRow)
dataRow = New Row
dataRow.AddValue("Dog")
dataRow.AddValue("Brown")
dataRow.AddValue("Retriever")
animalList.Add(dataRow)
Dim saveRow As Row
For Each saveRow In animalList
If dataFilter.Evaluate(saveRow) Then
csvWriter.Write(saveRow)
End If
Next
csvWriter.Close()
The filter may also be used to progress the Reader to the next Row that matches the filter criteria. When a header is provided, the filter can apply the expression to the named column. C# example:Reader csvReader = new Reader(@"c:\temp\test.csv", true);
csvReader.Open();
Filter dataFilter = new Filter(csvReader.Header);
dataFilter.AddCondition("Animal", "^Bird$");
while(csvReader.Read(dataFilter))
{
//... use data
}
csvReader.Close();
VB example: Dim csvReader = New Reader("c:\temp\test.csv", True)
csvReader.Open()
Dim dataFilter = New Filter(csvReader.Header)
dataFilter.AddCondition("Animal", "^Bird$")
While csvReader.Read(dataFilter)
'... use data
End While
csvReader.Close()
RequirementsNamespace: AldenSystems.CSVEngine Assembly: CSVEngine (in CSVEngine.dll) See AlsoFilter Members | AldenSystems.CSVEngine Namespace |