We've implemented our grid using AJAX and are also using the "clientTemplate" property. Here's an example from our grid:
Html.Kendo().Grid(Of grid_model)() _
.Name(
"myGrid"
) _
.DataSource(
Function
(d) d.Ajax().Sort(
Sub
(sort) sort.Add(
"some_number"
).Ascending()).ServerOperation(
True
).PageSize(pageSize).Read(
Function
(read) read.Action(
"WebMethod"
,
"Controller"
).Data(
"myApp.WebMethod.gridColumnFormatting.moduleMethod"
))) _
.Columns(
Sub
(columns)
columns.Bound(
Function
(c
As
wh_get_pro_list) c.flag).ClientTemplate(
"#= myApp.WebMethod.gridColumnFormatting.moduleMethod.flag(flag)#"
).Title(
" "
) _
.Width(42).Sortable(
True
).Filterable(
True
).Groupable(
False
).HtmlAttributes(
New
With
{.class =
"CenterCellContent"
})
.Events(
Function
(evnt) evnt.DataBound(
"myApp.WebMethod.gridColumnFormatting.onGrid_DataBound"
).Change(
"myApp.WebMethod.gridColumnFormatting.mainGridEvents.onChange"
)) _
.Pageable(
Function
(pg) pg.Refresh(
True
).Input(
True
).PageSizes(
True
)) _
.Resizable(
Function
(resizable) resizable.Columns(
True
)) _
.Sortable() _
.ClientDetailTemplateId(
"childID"
) _
.Groupable() _
.Filterable(
Function
(fltr) fltr.Messages(
Sub
(msg)
msg.Info(
"Show rows where"
)
End
Sub
)) _
.Scrollable(
Function
(scroll) scroll.Height(
"auto"
)) _
.Selectable(
Function
(selectable) selectable.Mode(GridSelectionMode.Multiple)) _
.Render()
Not sure if this helps at all.