ASP.NET MVC TileLayout Overview
The TileLayout is part of Telerik UI for ASP.NET MVC, a
professional grade UI library with 110+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.
The Telerik UI TileLayout HtmlHelper for ASP.NET MVC is a server-side wrapper for the Kendo UI TileLayout widget.
The TileLayout widget allows you configure a two-dimensional grid-based sandbox surface to display content in tiles which can be dragged around and rearranged to create any modern page design.
It is based on the CSS Grid(with all its features) which covers the majority of cases and uses additional JavaScript logic to provide resizing, reordering and templates customizations.
Initializing the Tile Layout
To initialize the Tile Layout, specify the number of Columns()
at root level and use the RowSpan()
and ColSpan()
of the containers to position the content in the available grid space.
The example below will render a grid with two columns which can be resized both vertically and horizontally.
@(Html.Kendo().TileLayout()
.Name("tilelayout")
.Columns(2)
.RowsHeight("285px")
.ColumnsWidth("285px")
.Containers(c => {
c.Add().Header(h => h.Text("Header One")).BodyTemplate("Body Text One").ColSpan(1).RowSpan(1);
c.Add().Header(h => h.Text("Header Two")).BodyTemplate("Body Text Two").ColSpan(1).RowSpan(1);
c.Add().Header(h => h.Text("Header Three")).BodyTemplate("Body Text Three").ColSpan(2).RowSpan(1);
})
.Reorderable(true)
.Resizable(true)
)
Grid Layout Configuration
The Telerik UI TileLayout for ASP.NET MVC available grid space is defined by using the Columns()
method. The number of rows in which the tiles will be displayed will automatically adjust. The columns and rows have a default width of 1fr
which can be modified by using the ColumnsWidth()
and RowsHeight()
methods.
The
RowsHeight()
andColumnsWidth()
methods parameter value sets the maximum height/width the rows or columns of the widget will stretch to. Dependent on resizing, content and user interactions with the layout, they may be less than the set value.
Tile Layout configuration
Each tile can span across several rows and columns. The space that the tile takes up is determined by its container RowSpan()
and ColSpan()
. For more information about the containers and their configurable properties, see the containers article.
Gaps
The grid lines between the rows and columns can be configured by specifying the Gap.Columns
for the vertical space between the tiles and the Gap.Rows
for the horizontal spacing.
.Gap(g=>g.Columns(10).Rows(10))
These properties are also known as the gutters between the rows/columns.
Referencing Existing Instances
To get a reference to an existing TileLayout instance:
- Use the
jQuery.data()
method. -
Once a reference is established, use the TileLayout API to control its behavior.
var tilelayout = $("#tilelayout").data("kendoTileLayout");
Functionality and Features
Known Limitations
Currently, the component is not supported in Internet Explorer as the browser does not support gutters.