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

ASP.NET MVC Grid ForeignKey Column

Loading Demo...

Also available for:



The ForeignKey column functionality of the Telerik UI for ASP.NET MVC Grid component is primarily used for matching the value of a bound property to a desired text field from a collection that is external for the Data Grid. The ForeignKey column feature follows the convention of the SQL ForeignKey functionality that is used for linking two tables based on a foreign key.

This example shows how to implement a foreign-key column in the ASP.NET MVC Data Grid, which generates an ASP.NET MVC DropDownList editor for its Category column. To define the ForeignKey column, set columns.ForeignKey(p => p.CategoryID,(System.Collections.IEnumerable)ViewData["categories"],"CategoryID","CategoryName").Title("Category").Width(150);.

When a column is defined as a ForeignKey column, the Data Grid will look for the GridForeignKey.cshtml editor template in the ~Views\\Shared\\EditorTemplates folder, and populate it with the passed collection through the column declaration. To set the editor template, use the following definition:

@model object
@(Html.Kendo().DropDownListFor(m => m)
   .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("")+ "_Data"])

In addition to the Foreign Key editor template, you can populate a list which holds all the categories and pass it through the ViewData. For the specific configuration, refer to the ForeignKeyColumnController.cs PopulateCategories() method.

If you are going to use Create operations, provide a DefaultCategory in the DataSource Model field.

For more information about the ForeignKey column capabilities, refer to the official Telerik UI for ASP.NET MVC Data Grid product documentation on the available fltering approaches.

Additional Apps

This Grid example is part of a unique collection of hundreds of ASP.NET MVC demos, with which you can see all Telerik ASP.NET MVC components and their features in action. View the source code of the demos from the library or directly adapt, and edit them and their theme appearance in the ThemeBuilder.

Support & Learning Resources

Additional Resources