Это будет немного сложнее и потребует некоторого программирования.
Решение основано на:
- Определить в панели инструментов флажок для каждого из столбцов, для этого я буду использовать шаблон.
- Для каждого из флажков мы определяем обработчик, который будет отображать/скрывать столбец в зависимости от текущего состояния.
определение шаблона
<!-- language: lang-html -->
<script type="text/kendoui" id="template">
<div>
<label for='field-#= item.field #'>
#= item.title ? item.title : item.field #
<input type='checkbox' id='field-#= item.field #' checked onclick='hideColumn("#=idx#")'>
</label>
</div>
</script>
Теперь, в определении сетки мы определим, что панель инструментов является результатом выполнения функции:
<!-- language: lang-json -->
toolbar : toolbarGenerator,
и tootbarGeneration
является:
function toolbarGenerator() {
var template = kendo.template($("#template").html());
var toolbar = "";
var grid = $("#grid").data("kendoGrid");
$.each(grid.columns, function (idx, item) {
toolbar += template({ idx : idx, item : item });
});
return toolbar;
}
Это итерация h все столбцы, применяющие шаблон для создания панели инструментов.
обработчик событий для изменений в чекбокс:
function hideColumn(col) {
var grid = $("#grid").data("kendoGrid");
if (grid.columns[col].hidden) {
grid.showColumn(+col);
} else {
grid.hideColumn(+col);
}
}
И JSFiddle здесь http://jsfiddle.net/OnaBai/GerEN/1/
Сладкое, :) после прохождения документации кендо, я думал, что нечто подобное будет правильный путь. Огромное спасибо, что вы спасли меня много времени. – webduvet
Рад помочь вам и добро пожаловать в KendoUI! – OnaBai
@OnaBai, это именно то, что я имел в виду, кроме виджета мультиселектора. – developer10214