Как динамически установить остановку столбца в сетке Wijmo?
Я могу установить статический индекс строки или столбца, добавив жестко закодированное значение индекса, но если пользователь хочет выбрать столбец, как мы можем сделать это, используя нокаут js. В настоящее время я установил статический индекс столбца, но я хочу, чтобы пользователи могли выбирать столбец для замораживания.
var viewModel= function () {
var self = this;
self.data = ko.observableArray([]);
self.recordCount = ko.observable(0);
self.lowTotNoOfRec = ko.observable(0);
self.pageSize = ko.observable(10);
self.pageIndex = ko.observable(0);
self.paged = function (e, data) {
self.pageIndex(data.newPageIndex);
};
self.staticColumnIndex = -1;
}.
1 ответ
Предполагая, что вы создали собственный обработчик привязки для настройки вашей сетки:
<table data-bind="wijgrid:gridConfig"></table>
И ваш gridConfig
включает в себя наблюдаемое для staticColumnIndex
:
self.gridConfig = {
//...other configuration stuff...
staticColumnIndex: ko.observable(-1)
};
Тогда init
пользовательского обработчика привязки может подписаться на изменения staticColumnIndex
и обновите значение для сетки:
ko.bindingHandlers.wijgrid = {
init: function (element, valueAccessor, allBindingsAccessor, data, context) {
var options = valueAccessor() || {};
var grid = $(element).wijgrid({
cellClicked: function (e, args) {
alert(args.cell.value());
},
allowPaging: true,
pageSize: options.pageSize(),
data: options.data(),
columns: options.headers,
scrollMode: "auto"
});
options.staticColumnIndex.subscribe(function (newValue) {
grid.wijgrid({
staticColumnIndex: newValue
});
});
}
};
Демо: http://jsfiddle.net/pvo4mk3c/
PS: похоже, когда у вас есть индикатор столбца замораживания на графике, вы можете перетаскивать его вперед и назад. Изменения в моей демонстрации не влияют на наблюдаемое.