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

Provides a fluent interface for configuring server-side DataSource operations.

Definition

Namespace:Kendo.Mvc.UI.Fluent

Assembly:Kendo.Mvc.dll

Type Parameters:

TModel

The type of the data model.

Syntax:

C#
public class ServerDataSourceBuilder<TModel> where TModel : class

Inheritance: objectServerDataSourceBuilder<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 ServerDataSourceBuilder(DataSource dataSource, ViewContext viewContext, IUrlGenerator urlGenerator)
Parameters:dataSourceDataSourceviewContextViewContexturlGeneratorIUrlGenerator

Methods

Configures the initial aggregates.

C#
public ServerDataSourceBuilder<TModel> Aggregates(Action<DataSourceAggregateDescriptorFactory<TModel>> aggregates)
Parameters:aggregatesAction<DataSourceAggregateDescriptorFactory<TModel>>Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Aggregates(s=&gt;s.Add(x=&gt;x.ContactName).Count())
)
)

Configures the URL for Create operation.

C#
public ServerDataSourceBuilder<TModel> Create(Action<ServerCrudOperationBuilder> configurator)
Parameters:configuratorAction<ServerCrudOperationBuilder>

The configurator of the URL for the Create operation.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Create(u=&gt;u.Url("url"))
)
)

Sets controller and action for Create operation.

C#
public ServerDataSourceBuilder<TModel> Create(string actionName, string controllerName, object routeValues)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

routeValuesobject

Route values

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Create("Action", "Controller", new { })
)
)

Sets controller, action and routeValues for Create operation.

C#
public ServerDataSourceBuilder<TModel> Create(string actionName, string controllerName)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Create("Action", "Controller")
)
)

Configures the URL for Destroy operation.

C#
public ServerDataSourceBuilder<TModel> Destroy(Action<ServerCrudOperationBuilder> configurator)
Parameters:configuratorAction<ServerCrudOperationBuilder>

The configurator of the URL for the Destroy operation.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Destroy(u=&gt;u.Url("url"))
)
)

Sets controller and action for Destroy operation.

C#
public ServerDataSourceBuilder<TModel> Destroy(string actionName, string controllerName, object routeValues)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

routeValuesobject

Route values

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Destroy("Action", "Controller", new { })
)
)

Sets controller, action and routeValues for Destroy operation.

C#
public ServerDataSourceBuilder<TModel> Destroy(string actionName, string controllerName)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Destroy("Action", "Controller")
)
)

Configures the initial filter.

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

The applied Filter configuration.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Filter(f=&gt;f.Add(x=&gt;x.ContactName).Contains("Test"))
)
)

Configures the initial grouping.

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

The applied grouping configuration.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Group(s=&gt;s.Add(x=&gt;x.ContactName))
)
)

Configures Model properties

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

The model configurator.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Model(f=&gt;f.Id(s=&gt;s.OrderID))
)
)

Sets the number of records displayed on a single page.

C#
public ServerDataSourceBuilder<TModel> PageSize(int pageSize)
Parameters:pageSizeint

Count of records per page.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.PageSize(10)
)
)

Configures the URL for Read operation.

C#
public ServerDataSourceBuilder<TModel> Read(Action<ServerCrudOperationBuilder> configurator)
Parameters:configuratorAction<ServerCrudOperationBuilder>Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Read(r=&gt;r.Route(new RouteValueDictionary() ))
)
)

Sets controller and action for Read operation.

C#
public ServerDataSourceBuilder<TModel> Read(string actionName, string controllerName, object routeValues)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

routeValuesobject

Route values

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Read("Action","Controller", new { }))
)
)

Sets controller, action and routeValues for Read operation.

C#
public ServerDataSourceBuilder<TModel> Read(string actionName, string controllerName)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Read("Action","Controller"))
)
)
C#
protected virtual void SetOperationUrl(CrudOperation operation, string actionName, string controllerName, object routeValues)
Parameters:operationCrudOperationactionNamestringcontrollerNamestringrouteValuesobject

Configures the initial sorting.

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

The applied sorting configuration.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Sort(s=&gt;s.Add(x=&gt;x.ContactName).Ascending())
)
)

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

C#
public ServerDataSourceBuilder<TModel> Total(int total)
Parameters:totalint

Number of records

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Total(50)
)
)

Configures the URL for Update operation.

C#
public ServerDataSourceBuilder<TModel> Update(Action<ServerCrudOperationBuilder> configurator)
Parameters:configuratorAction<ServerCrudOperationBuilder>

The configurator of the URL for the Update operation.

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Update(u=&gt;u.Url("url"))
)
)

Sets controller and action for Update operation.

C#
public ServerDataSourceBuilder<TModel> Update(string actionName, string controllerName, object routeValues)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

routeValuesobject

Route values

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Update("Action", "Controller", new { })
)
)

Sets controller, action and routeValues for Update operation.

C#
public ServerDataSourceBuilder<TModel> Update(string actionName, string controllerName)
Parameters:actionNamestring

Action name

controllerNamestring

Controller Name

Returns:

ServerDataSourceBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid&lt;OrderViewModel&gt;()
.Columns(c=&gt; {
c.Bound(b =&gt; b.OrderID);
c.Bound(b =&gt; b.OrderDate);
})
.Name("grid")
.DataSource(ds=&gt; ds
.Ajax()
.Update("Action", "Controller")
)
)