Я использую библиотеку Knockout-Kendo.js для привязки Kendo Grid с привязками Knockout. Я построил систему, которая загружает несколько источников данных, каждому из которых назначен свой набор столбцов. У меня все отлично работает, за исключением получения новой коллекции столбцов, назначенной сетке Kendo, связанной с Knockout.
Я прочитал несколько способов повторной инициализации столбцов, но все они требуют уничтожения и воссоздания сетки. Я не уверен, как бы я поступил с связанной сеткой Knockout. Я использую код ниже.
HTML:
<div data-bind="kendoGrid: gridOptions"></div>
Нокаут/JS:
self.SearchResults
и self.GridColumns
являются наблюдаемыми массивами.
self.gridOptions = {
data: self.SearchResults,
columns: self.GridColumns
};
Когда я обновляю self.SearchResults
, сетка обновляется правильно. Обновление self.GridColumns
не влияет на отображаемые столбцы в сетке.
Если кто-нибудь может указать мне правильное направление о том, как я могу обновить и отобразить коллекцию столбцов в сочетании с использованием привязки Knockout, предоставленной библиотекой, указанной выше, я был бы очень признателен.
self.gridOptions
должен быть наблюдаемым, чтобы привязка данных знала, когда она была обновлена. После обновления члена позвонитеself.gridOptions.valueHasMutated()
. Я просто основываюсь на том, как все должно работать; Я не знаю, как на самом деле действительно работает привязка. - person Roy J   schedule 09.08.2016