New to Telerik UI for ASP.NET MVC? Start a free 30-day trial

Defines the base fluent interface for configuring the grid filterable settings.

Definition

Namespace:Kendo.Mvc.UI.Fluent

Assembly:Kendo.Mvc.dll

Type Parameters:

TDataSourceBuilder

Syntax:

C#
public abstract class GridFilterableSettingsBuilderBase<TDataSourceBuilder> where TDataSourceBuilder : GridFilterableSettingsBuilderBase<TDataSourceBuilder>

Inheritance: objectGridFilterableSettingsBuilderBase<TDataSourceBuilder>

Derived Classes: GridBoundColumnFilterableBuilderGridFilterableSettingsBuilder

Inherited Members object.GetType()object.MemberwiseClone()object.ToString()object.Equals(object)object.Equals(object, object)object.ReferenceEquals(object, object)object.GetHashCode()...

Constructors

Initializes a new instance of the GridFilterableSettings class.

C#
public GridFilterableSettingsBuilderBase(GridFilterableSettings settings)
Parameters:settingsGridFilterableSettings

The settings.

Methods

Enables or disables filtering

C#
public TDataSourceBuilder Enabled(bool value)
Parameters:valuebool

True to set the Filterable functionality

Returns:

TDataSourceBuilder

The Enabled method is useful when you need to enable filtering based on certain conditions.

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(p =&gt; p.OrderID).Filterable(false);
columns.Bound(p =&gt; p.Freight);
})
.Filterable(f =&gt; f.Enabled(true))
.DataSource(dataSource =&gt; dataSource
.Ajax()
.PageSize(20)
.Read(read =&gt; read.Action("Orders_Read", "Grid"))
)
)

Specify if the extra input fields should be visible within the filter menu. Default is true.

C#
public TDataSourceBuilder Extra(bool value)
Parameters:valuebool

True to show the extra inputs, otherwise false

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(p =&gt; p.OrderID).Filterable(false);
columns.Bound(p =&gt; p.Freight);
})
.Filterable(f =&gt; f.Extra(false))
.DataSource(dataSource =&gt; dataSource
.Ajax()
.PageSize(20)
.Read(read =&gt; read.Action("Orders_Read", "Grid"))
)
)

Configures Filter menu messages.

C#
public TDataSourceBuilder Messages(Action<FilterableMessagesBuilder> configurator)
Parameters:configuratorAction<FilterableMessagesBuilder>

Configure the options for the Messages in the Filter

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(p =&gt; p.OrderID).Filterable(false);
columns.Bound(p =&gt; p.Freight);
})
.Filterable(f =&gt; f.Messages(m =&gt; m.And("And").Or("Or").Filter("Apply filter").Clear("Clear filter")))
.DataSource(dataSource =&gt; dataSource
.Ajax()
.PageSize(20)
.Read(read =&gt; read.Action("Orders_Read", "Grid"))
)
)

Specify the filter mode - you can choose between having separate header row and the filter menu available by clicking the icon. Default is the filter menu. Multiple filter modes can be set by combining the flags:

C#
public TDataSourceBuilder Mode(GridFilterMode value)
Parameters:valueGridFilterMode

If set to Row the user would be able to filter via extra row added below the headers. By default filtering is using the Menu mode.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(p =&gt; p.OrderID).Filterable(false);
columns.Bound(p =&gt; p.Freight);
})
.Filterable(f =&gt; f.Mode(GridFilterMode.Menu))
.DataSource(dataSource =&gt; dataSource
.Ajax()
.PageSize(20)
.Read(read =&gt; read.Action("Orders_Read", "Grid"))
)
)

Configures the Filter menu operators.

C#
public TDataSourceBuilder Operators(Action<FilterableOperatorsBuilder> configurator)
Parameters:configuratorAction<FilterableOperatorsBuilder>

The text of the filter operators displayed in the filter menu.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(p =&gt; p.OrderID).Filterable(false);
columns.Bound(p =&gt; p.Freight);
})
.Filterable(filterable =&gt; filterable
.Extra(false)
.Operators(operators =&gt; operators
.ForString(str =&gt; str.Clear()
.StartsWith("Starts with")
.IsEqualTo("Is equal to")
.IsNotEqualTo("Is not equal to")
))
)
.DataSource(dataSource =&gt; dataSource
.Ajax()
.PageSize(20)
.Read(read =&gt; read.Action("Orders_Read", "Grid"))
)
)