Я использую библиотеку Knockout-Kendo.js, чтобы связать сетку Kendo с привязками Knockout. Я создал систему, которая загружает несколько источников данных, каждая из которых имеет свой собственный набор столбцов, назначенных им. У меня все отлично работает, за исключением получения новой коллекции колонок, назначенной Knockout, связанной с Kendo Grid.Обновление сборника колонок Kendo UI Grid Columns
Я прочитал несколько способов, чтобы восстановить столбцы, но все они требуют, чтобы сетка была уничтожена и воссоздана. Я не уверен, как это сделать с сеткой, связанной с нокаутом. Я использую код ниже.
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()'. Я просто основываю это на том, как вещи * должны * работать; Я не знаю, как работает привязка *. –