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

Creates columns for the Grid<T>.

Definition

Namespace:Kendo.Mvc.UI.Fluent

Assembly:Kendo.Mvc.dll

Type Parameters:

TModel

The type of the data item to which the grid is bound to

Syntax:

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

Inheritance: objectGridColumnFactory<TModel>

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 GridColumnFactory<TModel> class.

C#
public GridColumnFactory(Grid<TModel> container, ViewContext viewContext, IUrlGenerator urlGenerator, IGridColumnContainer<TModel> columnsContainer)
Parameters:containerGrid<TModel>

The container.

viewContextViewContext

The ViewContext object

urlGeneratorIUrlGenerator

The IUrlGenerator generator.

columnsContainerIGridColumnContainer<TModel>

The columns container.

C#
public GridColumnFactory(Grid<TModel> container, ViewContext viewContext, IUrlGenerator urlGenerator)
Parameters:containerGrid<TModel>viewContextViewContexturlGeneratorIUrlGenerator

Properties

C#
public IGridColumnContainer<TModel> ColumnsContainer { get; }
C#
public Grid<TModel> Container { get; }

Methods

Determines if columns should be automatically generated.

C#
public virtual void AutoGenerate(Action<GridColumnBase<TModel>> columnAction)
Parameters:columnActionAction<GridColumnBase<TModel>>

Action which will be executed for each generated column.

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.AutoGenerate(x=&gt;x.ClientTemplate="Template");
}))

Determines if columns should be automatically generated.

C#
protected virtual void AutoGenerate(bool shouldGenerate, Action<GridColumnBase<TModel>> columnAction)
Parameters:shouldGeneratebool

If true columns should be generated, otherwise false.

columnActionAction<GridColumnBase<TModel>>

Columns configuration action

Determines if columns should be automatically generated.

C#
public virtual void AutoGenerate(bool shouldGenerate)
Parameters:shouldGeneratebool

If true columns should be generated, otherwise false.

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.AutoGenerate(true);
}))

Defines a bound column.

C#
public virtual GridBoundColumnBuilder<TModel> Bound(string memberName)
Parameters:memberNamestring

The name of the field.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound("Name");
}))

Defines a bound column.

C#
public virtual GridBoundColumnBuilder<TModel> Bound(Type memberType, string memberName)
Parameters:memberTypeType

Type of the member.

memberNamestring
Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(typeof(string), "Name");
}))

Defines a bound column.

C#
public virtual GridBoundColumnBuilder<TModel> Bound<TValue>(Expression<Func<TModel, TValue>> expression)
Parameters:expressionExpression<Func<TModel, TValue>>Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Bound(c =&gt; c.Name);
}))

Defines a command column.

C#
public virtual GridActionColumnBuilder Command(Action<GridActionCommandFactory<TModel>> commandAction)
Parameters:commandActionAction<GridActionCommandFactory<TModel>>Returns:

GridActionColumnBuilder

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Command(x=&gt;x.Edit());
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(string memberName, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText, bool useServerEditor)
Parameters:memberNamestring

The member name.

dataSourceAction<ReadOnlyDataSourceBuilder>

The data source configuration.

dataFieldValuestring

The data value field.

dataFieldTextstring

The data text field.

useServerEditorbool

Specifying if a server editor should be used.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey("CategoryID", ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName", true);
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(string memberName, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText)
Parameters:memberNamestring

The member name.

dataSourceAction<ReadOnlyDataSourceBuilder>

The data source configuration.

dataFieldValuestring

The data value field.

dataFieldTextstring

The data text field.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey("CategoryID", ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName");
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(string memberName, IEnumerable data, string dataFieldValue, string dataFieldText)
Parameters:memberNamestring

The member name.

dataIEnumerable

The data.

dataFieldValuestring

The data value field

dataFieldTextstring

The data text field

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey("CategoryID", (System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName");
}))
C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(string memberName, SelectList data)
Parameters:memberNamestringdataSelectListReturns:

GridBoundColumnBuilder<TModel>

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(Type memberType, string memberName, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText, bool useServerEditor)
Parameters:memberTypeType

The member type.

memberNamestring

The member name.

dataSourceAction<ReadOnlyDataSourceBuilder>

The data source configuration.

dataFieldValuestring

The data value field.

dataFieldTextstring

The data text field.

useServerEditorbool

Specifying if a server editor should be used.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(typeof(int), "CategoryID", ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName", true);
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(Type memberType, string memberName, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText)
Parameters:memberTypeType

The member type.

memberNamestring

The member name.

dataSourceAction<ReadOnlyDataSourceBuilder>

The data source configuration.

dataFieldValuestring

The data value field.

dataFieldTextstring

The data text field.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(typeof(int), "CategoryID", ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName");
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(Type memberType, string memberName, IEnumerable data, string dataFieldValue, string dataFieldText)
Parameters:memberTypeType

The member type.

memberNamestring

The member name.

dataIEnumerable

The data.

dataFieldValuestring

The data value field

dataFieldTextstring

The data text field

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(typeof(int), "CategoryID", (System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName");
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey(Type memberType, string memberName, SelectList data)
Parameters:memberTypeType

The member type.

memberNamestring

The member name.

dataSelectList

The data.

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(typeof(int), "CategoryID", new SelectList((System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName"));
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey<TValue>(Expression<Func<TModel, TValue>> expression, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText, bool useServerEditor)
Parameters:expressionExpression<Func<TModel, TValue>>

The member which matches the selected item

dataSourceAction<ReadOnlyDataSourceBuilder>

The foreign key dataSource

dataFieldValuestring

The data value field

dataFieldTextstring

The data text field

useServerEditorbool
Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(p =&gt; p.CategoryID, ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName", true);
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey<TValue>(Expression<Func<TModel, TValue>> expression, Action<ReadOnlyDataSourceBuilder> dataSource, string dataFieldValue, string dataFieldText)
Parameters:expressionExpression<Func<TModel, TValue>>

The member which matches the selected item

dataSourceAction<ReadOnlyDataSourceBuilder>

The foreign key dataSource

dataFieldValuestring

The data value field

dataFieldTextstring

The data text field

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(p =&gt; p.CategoryID, ds =&gt; ds.Read(r =&gt; r.Action("ReadCategories", "Home")), "CategoryID", "CategoryName");
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey<TValue>(Expression<Func<TModel, TValue>> expression, IEnumerable data, string dataFieldValue, string dataFieldText)
Parameters:expressionExpression<Func<TModel, TValue>>

The member which matches the selected item

dataIEnumerable

The foreign data

dataFieldValuestring

The data value field

dataFieldTextstring

The data text field

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(p =&gt; p.CategoryID, (System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName");
}))

Defines a foreign key column.

C#
public virtual GridBoundColumnBuilder<TModel> ForeignKey<TValue>(Expression<Func<TModel, TValue>> expression, SelectList data)
Parameters:expressionExpression<Func<TModel, TValue>>

The member which matches the selected item

dataSelectList

The foreign data

Returns:

GridBoundColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.ForeignKey(p =&gt; p.CategoryID, new SelectList((System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName"));
}))

Defines a column group.

C#
public GridColumnFactory<TModel> Group(Action<GridColumnGroupBuilder<TModel>> configurator)
Parameters:configuratorAction<GridColumnGroupBuilder<TModel>>

Column configurator.

Returns:

GridColumnFactory<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Group(x =&gt; x.Title("Group"));
}))

Loads the columns and their setting.

C#
public void LoadSettings(IEnumerable<GridColumnSettings> settings)
Parameters:settingsIEnumerable<GridColumnSettings>

Defines the column settings

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.LoadSettings((IEnumerable&lt;GridColumnSettings&gt;)ViewData["Columns"]);
}))

Defines a column with pin/unpin icon button rendered in the column cells, allowing users to pin or unpin individual rows.

C#
public virtual GridPinColumnBuilder Pin()
Returns:

GridPinColumnBuilder

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Pin();
}))

Defines a select column.

C#
public virtual GridSelectColumnBuilder Select()
Returns:

GridSelectColumnBuilder

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Select();
}))

Defines a server-side template column.

C#
public virtual GridTemplateColumnBuilder<TModel> Template(Action<TModel> templateAction)
Parameters:templateActionAction<TModel>

Defines the template

Returns:

GridTemplateColumnBuilder<TModel>

Defines a template column.

C#
public virtual GridTemplateColumnBuilder<TModel> Template(Func<TModel, object> template)
Parameters:templateFunc<TModel, object>

Defines the template

Returns:

GridTemplateColumnBuilder<TModel>

Example:
C#
@(Html.Kendo().Grid(Model)
.Name("grid")
.Columns(columns =&gt;
{
columns.Template(x=&gt;x.Name.ToUpper());
}))

Defines a template column.

C#
public virtual GridTemplateColumnBuilder<TModel> Template<T>(TemplateBuilder<T> templateBuilder)
Parameters:templateBuilderTemplateBuilder<T>Returns:

GridTemplateColumnBuilder<TModel>

Returns a new GridTemplateColumnBuilder<T> instance for method chaining.

In this article
DefinitionConstructorsGridColumnFactory(Grid<TModel>, ViewContext, IUrlGenerator, IGridColumnContainer<TModel>)GridColumnFactory(Grid<TModel>, ViewContext, IUrlGenerator)PropertiesColumnsContainerContainerMethodsAutoGenerate(Action<GridColumnBase<TModel>>)AutoGenerate(bool, Action<GridColumnBase<TModel>>)AutoGenerate(bool)Bound(string)Bound(Type, string)Bound<TValue>(Expression<Func<TModel, TValue>>)Command(Action<GridActionCommandFactory<TModel>>)ForeignKey(string, Action<ReadOnlyDataSourceBuilder>, string, string, bool)ForeignKey(string, Action<ReadOnlyDataSourceBuilder>, string, string)ForeignKey(string, IEnumerable, string, string)ForeignKey(string, SelectList)ForeignKey(Type, string, Action<ReadOnlyDataSourceBuilder>, string, string, bool)ForeignKey(Type, string, Action<ReadOnlyDataSourceBuilder>, string, string)ForeignKey(Type, string, IEnumerable, string, string)ForeignKey(Type, string, SelectList)ForeignKey<TValue>(Expression<Func<TModel, TValue>>, Action<ReadOnlyDataSourceBuilder>, string, string, bool)ForeignKey<TValue>(Expression<Func<TModel, TValue>>, Action<ReadOnlyDataSourceBuilder>, string, string)ForeignKey<TValue>(Expression<Func<TModel, TValue>>, IEnumerable, string, string)ForeignKey<TValue>(Expression<Func<TModel, TValue>>, SelectList)Group(Action<GridColumnGroupBuilder<TModel>>)LoadSettings(IEnumerable<GridColumnSettings>)Pin()Select()Template(Action<TModel>)Template(Func<TModel, object>)Template<T>(TemplateBuilder<T>)
Not finding the help you need?
Contact Support