Spread ASP.NET 17
Spread for ASP.NET 17 Product Documentation / Developer's Guide / Customizing User Interaction / Managing Filtering of Rows of User Data / Creating Filtered Rows and Setting the Appearance
In This Topic
    Creating Filtered Rows and Setting the Appearance
    In This Topic

    You can customize the appearance of filtered rows to allow you to see which rows are filtered in and which ones are filtered out. Rows that meet the criteria for the row filter are said to be "filtered in"; rows that do not meet the criteria are said to be "filtered out." Filtering may either hide the rows that are filtered out, or change the styles such as the background color for both filtered-in and filtered-out rows. If you want the styles to change, so that you can continue to display all the data but highlight rows that match some criteria, then you must define a filtered-in style and a filtered-out style.

    Hidden rows are not displayed even if they match the filter criteria.

    A row filter uses a style row filter or a hide row filter. The style row filter changes the appearance of the filtered row. The hide row filter hides the rows that do not meet the filter criteria.

    You define styles by creating NamedStyle objects that contain all the style settings. Then when the row filtering is applied to a column, you specify those defined style settings by referring to the NamedStyle object for that filtered state. For more information about the row filter that uses styles, refer to the StyleRowFilter class.

    You can create a hide or style row filter using the Spread Designer. Select the Spread control in the property grid drop-down of the designer, then select the Sheets Collection (under Data), and then select the Row Filter option in the SheetView Collection editor.

    In addition to creating row filters for the user to select the item; you can also programmatically filter a row.

    You can specify simple filtering, enhanced filtering, or the filter bar with the AutoFilterMode property.

    For detailed information on the objects involved, refer to these classes.

    Using Code

    Create a named style and then set the style row filter.

    Example

    This example code sets a style row filter.

    C#
    Copy Code
    FarPoint.Web.Spread.NamedStyle instyle = new FarPoint.Web.Spread.NamedStyle();
    FarPoint.Web.Spread.NamedStyle outstyle = new FarPoint.Web.Spread.NamedStyle();
    instyle.BackColor = Color.Yellow;
    outstyle.BackColor = Color.Aquamarine;
    FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences | FarPoint.Web.Spread.FilterListBehavior.Default);
    FarPoint.Web.Spread.FilterColumnDefinition fcd1 = new FarPoint.Web.Spread.FilterColumnDefinition(2);
    FarPoint.Web.Spread.FilterColumnDefinition fcd2 = new FarPoint.Web.Spread.FilterColumnDefinition();
    FarPoint.Web.Spread.StyleRowFilter sf = new FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets[0], instyle, outstyle);
    sf.AddColumn(fcd);
    sf.AddColumn(fcd1);
    sf.AddColumn(fcd2);
    FpSpread1.Sheets[0].RowFilter = sf; 
    
    VB
    Copy Code
    Dim instyle As New FarPoint.Web.Spread.NamedStyle()
    Dim outstyle As New FarPoint.Web.Spread.NamedStyle()
    instyle.BackColor = Color.Yellow
    outstyle.BackColor = Color.Aquamarine
    Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences Or FarPoint.Web.Spread.FilterListBehavior.Default)
    Dim fcd1 As New FarPoint.Web.Spread.FilterColumnDefinition(2)
    Dim fcd2 As New FarPoint.Web.Spread.FilterColumnDefinition()
    Dim sf As New FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets(0), instyle, outstyle)
    sf.AddColumn(fcd)
    sf.AddColumn(fcd1)
    sf.AddColumn(fcd2)
    FpSpread1.Sheets(0).RowFilter = sf 
    

    Using Code

    Create a column filter definition and set a hide row filter.

    Example

    This example code uses the hide row filter.

    C#
    Copy Code
    FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences | FarPoint.Web.Spread.FilterListBehavior.Default);
    FarPoint.Web.Spread.FilterColumnDefinition fcd1 = new FarPoint.Web.Spread.FilterColumnDefinition(2, FarPoint.Web.Spread.FilterListBehavior.Default);
    FarPoint.Web.Spread.FilterColumnDefinition fcd2 = new FarPoint.Web.Spread.FilterColumnDefinition(3);
    FarPoint.Web.Spread.HideRowFilter hf = new FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets[0]);
    hf.AddColumn(fcd);
    hf.AddColumn(fcd1);
    hf.AddColumn(fcd2);
    FpSpread1.Sheets[0].RowFilter = hf; 
    
    VB
    Copy Code
    Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences Or FarPoint.Web.Spread.FilterListBehavior.Default)
    Dim fcd1 As New FarPoint.Web.Spread.FilterColumnDefinition(2)
    Dim fcd2 As New FarPoint.Web.Spread.FilterColumnDefinition(3)
    Dim hf As New FarPoint.Web.Spread.HideRowFilter(FpSpread1.Sheets(0))
    hf.AddColumn(fcd)
    hf.AddColumn(fcd1)
    hf.AddColumn(fcd2)
    FpSpread1.Sheets(0).RowFilter = hf 
    

    Using Code

    Create a column filter definition and set a row filter.

    Example

    This example applies a filter programmatically with the AutoFilterColumn method.

    C#
    Copy Code
    FpSpread1.Sheets[0].Cells[0, 2].Text = "test";
    FarPoint.Web.Spread.NamedStyle instyle = new FarPoint.Web.Spread.NamedStyle();
    FarPoint.Web.Spread.NamedStyle outstyle = new FarPoint.Web.Spread.NamedStyle();
    instyle.BackColor = Color.Yellow;
    outstyle.BackColor = Color.Aquamarine;
    FarPoint.Web.Spread.FilterColumnDefinition fcd = new FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences | FarPoint.Web.Spread.FilterListBehavior.Default);
    FarPoint.Web.Spread.FilterColumnDefinition fcd1 = new FarPoint.Web.Spread.FilterColumnDefinition(2);
    FarPoint.Web.Spread.FilterColumnDefinition fcd2 = new FarPoint.Web.Spread.FilterColumnDefinition();
    FarPoint.Web.Spread.StyleRowFilter sf = new FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets[0], instyle, outstyle);
    sf.AddColumn(fcd);
    sf.AddColumn(fcd1);
    sf.AddColumn(fcd2);
    FpSpread1.Sheets[0].RowFilter = sf;
    FpSpread1.Sheets[0].AutoFilterColumn(2, "test");
    
    VB
    Copy Code
    FpSpread1.Sheets(0).Cells(0, 2).Text = "test"
    Dim instyle As New FarPoint.Web.Spread.NamedStyle()
    Dim outstyle As New FarPoint.Web.Spread.NamedStyle()
    instyle.BackColor = Color.Yellow
    outstyle.BackColor = Color.Aquamarine
    Dim fcd As New FarPoint.Web.Spread.FilterColumnDefinition(1, FarPoint.Web.Spread.FilterListBehavior.SortByMostOccurrences Or FarPoint.Web.Spread.FilterListBehavior.Default)
    Dim fcd1 As New FarPoint.Web.Spread.FilterColumnDefinition(2)
    Dim fcd2 As New FarPoint.Web.Spread.FilterColumnDefinition()
    Dim sf As New FarPoint.Web.Spread.StyleRowFilter(FpSpread1.Sheets(0), instyle, outstyle)
    sf.AddColumn(fcd)
    sf.AddColumn(fcd1)
    sf.AddColumn(fcd2)
    FpSpread1.Sheets(0).RowFilter = sf
    FpSpread1.Sheets(0).AutoFilterColumn(2, "test")