Есть два способа получить его:
- Вы позволяете Кендо UI генерировать в верхней части, а затем вы переместите его в нижний
- Вы генерировать его на дно.
Первый подход быстрый, и если вам не нужна панель инструментов заголовка, это лучше всего. Просто добавьте следующий код:
$("#grid).data("kendoGrid").wrapper.append($(".k-toolbar"));
посмотреть здесь: http://jsfiddle.net/OnaBai/WsRqP/1/
Второй подход -Использование в качестве основы пример, который Вы упоминаете в своем первоначальном Вопрос- будет что-то вроде этого:
Шаг 1: Определить шаблон, вы можете использовать те же, чем в примере:
<script type="text/x-kendo-template" id="template">
<div class="toolbar">
<label class="category-label" for="category">Show products by category:</label>
<input type="search" id="category" style="width: 150px"/>
</div>
</script>
Шаг 2: Инициализация сетки, как вы делаете сейчас (в моем случае Я не буду включать панель инструментов в качестве заголовка, но только в качестве нижнего колонтитула):
var grid = $("#grid").kendoGrid({
dataSource: {
type : "odata",
transport : {
read: "http://demos.kendoui.com/service/Northwind.svc/Products"
},
pageSize : 20,
serverPaging : true,
serverSorting : true,
serverFiltering: true
},
height : 430,
sortable : true,
pageable : true,
columns : [
{ field: "ProductID", title: "Product ID", width: 100 },
{ field: "ProductName", title: "Product Name" },
{ field: "UnitPrice", title: "Unit Price", width: 100 },
{ field: "QuantityPerUnit", title: "Quantity Per Unit" }
]
}).data("kendoGrid");
Шаг 3: Добавление обработчика DataBound для создания колонтитула после сетка была инициализирована. Мы должны сделать это на dataBound
, иначе Grid все еще не правильно отформатирована, а нижний колонтитул будет выглядеть неправильно. Я реализовал создание панели инструментов нижнего колонтитула в отдельной функции, чтобы не испортить dataBound
, если вы делаете больше вещей здесь.
dataBound : function() {
initFooterToolbar(this, kendo.template($("#template").html()));
}
Шаг 4: Реализовать это initFooterToolbar
:
function initFooterToolbar(grid, template) {
if (!this._footer) {
this._footer = $("<div class='k-toolbar k-grid-toolbar k-widget'></div>")
.append(template);
grid.wrapper.append(this._footer);
// Other code for initializing your template
...
}
}
Что initFooterToolbar
делает первый чек, что он еще не был инициализирован в противном случае, если вы делаете разбиение на страницы обновления данных вы можете закончить вверх с кратному нижние колонтитулы.
Наконец, добавьте панель инструментов в grid.wrapper
.
Таким образом, важная часть создания панели нижнего колонтитула вызывает grid.wrapper.append(...)
и делает это, когда сетка уже создана.
Оригинальный пример модифицирован здесь: http://jsfiddle.net/OnaBai/WsRqP/
ли вы либо ответ шахтные onabai полезно? – Myzifer