Я использую Telerik 2011 Q2 MVC Grid в своем приложении asp.net MVC3. На одной из моих страниц у меня есть таблица, и я пытаюсь отобразить нижний колонтитул в таблице. Сетка связана в режиме Ajax. Вот код, который я использую
@(Html.Telerik().Grid<MatrixDetail>()
.Name("tlkLocalityMatrixGrid")
.DataBinding(db => db.Ajax().Select("_LocalityMatrix", "Matrix"))
.Columns(col => {
col.Bound(m => m.Name).Title("Locality/BloodGroup").Width(200)
.Sortable(false);
col.Bound(m => m.A_PositiveCount).Title("A+ve")
.Sortable(false);
...
col.Bound(m => m.Total).Title("Total").Width(100).Aggregate(aggr => aggr.Sum())
.ClientFooterTemplate("<# if(Count > 0) { $.telerik.formatString('{0:n}', Sum); } #>")
.Format("{0:n}");}))
Как видно из кода, я пытаюсь отобразить агрегат (Всего) с помощью шаблона нижнего колонтитула клиента. Мое требование состоит в том, чтобы отображать итоговое значение только в том случае, если число строк в сетке больше 0. В противном случае итоговое значение в нижнем колонтитуле должно быть пустым. Поэтому я использовал «Счет» и «Сумма» для достижения функциональности. Когда я впервые загружаю сетку, она пуста, а нижний колонтитул «Итого» отображается пустым, как и ожидалось. Однако после того, как пользователь внес некоторые изменения, я перезагружаю сетку с данными, но JQuery жалуется, что "ReferenceError: Count не определено"
Как заставить ClientFooterTemplate отображать нижний колонтитул (в данном случае «Всего») только тогда, когда сетка имеет несколько строк. Если я указываю только «<#= Sum #>
» в ClientFooterTemplate, то если в таблице нет строк, нижний колонтитул по-прежнему отображает 0.