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

Defines the fluent interface for configuring the DataSource options.

Definition

Namespace:Kendo.Mvc.UI.Fluent

Assembly:Kendo.Mvc.dll

Type Parameters:

TModel

TDataSourceBuilder

Syntax:

C#
public abstract class WebApiDataSourceBuilderBase<TModel, TDataSourceBuilder> where TModel : class where TDataSourceBuilder : WebApiDataSourceBuilderBase<TModel, TDataSourceBuilder>

Inheritance: objectWebApiDataSourceBuilderBase<TModel, TDataSourceBuilder>

Derived Classes: ReadOnlyWebApiDataSourceBuilder<TModel>WebApiDataSourceBuilder<TModel>

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

Constructors

C#
public WebApiDataSourceBuilderBase(DataSource dataSource, ViewContext viewContext, IUrlGenerator urlGenerator)
Parameters:dataSourceDataSourceviewContextViewContexturlGeneratorIUrlGenerator

Fields

C#
protected readonly DataSource dataSource
C#
protected readonly IUrlGenerator urlGenerator

viewContext

ViewContext

C#
protected readonly ViewContext viewContext

Methods

Configures whether diacritic filtering should be used.

C#
public TDataSourceBuilder AccentFoldingFiltering(string culture)
Parameters:culturestring

The used culture.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.AccentFoldingFiltering("de-DE");
})
)

The aggregates which are calculated when the data source populates with data.

C#
public virtual TDataSourceBuilder Aggregates(Action<DataSourceAggregateDescriptorFactory<TModel>> aggregates)
Parameters:aggregatesAction<DataSourceAggregateDescriptorFactory<TModel>>

The Aggregates configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Aggregates(y=&gt;y.Add("OrderID", typeof(int)).Average());
})
)

When enabled filtering is case sensitive

C#
public virtual TDataSourceBuilder CaseSensitiveFiltering()
Returns:

TDataSourceBuilder

Example:
C#
.DataSource(dataSource =&gt; dataSource
.WebApi()
.CaseSensitiveFiltering()
)

Configures the client-side events

C#
public TDataSourceBuilder Events(Action<DataSourceEventBuilder> configurator)
Parameters:configuratorAction<DataSourceEventBuilder>

The events configuration.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Events(ev =&gt; ev.Change("onChange"));
})
)

Configures the initial filter.

C#
public virtual TDataSourceBuilder Filter(Action<DataSourceFilterDescriptorFactory<TModel>> configurator)
Parameters:configuratorAction<DataSourceFilterDescriptorFactory<TModel>>

The Filter configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Filter(y=&gt;y.Add(z=&gt;z.ContactName != "Condition"));
})
)

Configures the initial grouping.

C#
public virtual TDataSourceBuilder Group(Action<DataSourceGroupDescriptorFactory<TModel>> configurator)
Parameters:configuratorAction<DataSourceGroupDescriptorFactory<TModel>>

The group configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Group(y=&gt;y.Add("OrderID", typeof(int)));
})
)

Configures Model properties

C#
public virtual TDataSourceBuilder Model(Action<DataSourceModelDescriptorFactory<TModel>> configurator)
Parameters:configuratorAction<DataSourceModelDescriptorFactory<TModel>>

The Model configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Model(m =&gt; m.Id(id =&gt; id.OrderID));
})
)

Sets the number of records displayed on a single page.

C#
public TDataSourceBuilder PageSize(int pageSize)
Parameters:pageSizeint

The count of records per page.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.PageSize(10);
})
)

Configures the URL for Read operation.

C#
public TDataSourceBuilder Read(Action<CrudOperationBuilder> configurator)
Parameters:configuratorAction<CrudOperationBuilder>

The read configuration.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Read(r=&gt;r.Action("Action", "Controller"));
})
)

Sets controller and action for Read operation.

C#
public TDataSourceBuilder Read(string url)
Parameters:urlstring

Absolute or relative URL for the operation

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Read("url");
})
)

Configures WebApi schema.

C#
public virtual TDataSourceBuilder Schema(Action<WebApiDataSourceSchemaBuilder> configurator)
Parameters:configuratorAction<WebApiDataSourceSchemaBuilder>

The Schema configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Schema(sch =&gt; sch.Data("Data"));
})
)

Sets the operation mode of the DataSource. By default the DataSource will make a request to the server when data for paging, sorting, filtering or grouping is needed. If set to false all data will be requested through single request. Any other paging, sorting, filtering or grouping will be performed client-side.

C#
public TDataSourceBuilder ServerOperation(bool enabled)
Parameters:enabledbool

True(default) if server operation mode is enabled, otherwise false.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.ServerOperation(true);
})
)

Configures the initial sorting.

C#
public virtual TDataSourceBuilder Sort(Action<DataSourceSortDescriptorFactory<TModel>> configurator)
Parameters:configuratorAction<DataSourceSortDescriptorFactory<TModel>>

The sort configurator.

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Sort(y=&gt;y.Add("OrderID"));
})
)

Sets the total number of records in the data source. Required during Custom binding.

C#
public TDataSourceBuilder Total(int total)
Parameters:totalint

Number of records

Returns:

TDataSourceBuilder

Example:
C#
@(Html.Kendo().DataSource&lt;OrderViewModel&gt;()
.Name("ds")
.WebApi(x=&gt; {
x.Total(10);
})
)