gpt4 book ai didi

angularjs - 动态绑定(bind)剑道网格数据源绑定(bind)到指令

转载 作者:行者123 更新时间:2023-12-02 03:04:30 24 4
gpt4 key购买 nike

我在 Controller 中创建dataSourec

$scope.dataSource = new kendo.data.DataSource({
transport: {
read: function (e) {
e.success(response.data.value);
}
},
serverFiltering: true,
serverSorting: true,
pageSize: 20,
schema: {
model: {
fields: {
languageId: { type: 'number', editable: true, nullable: false },
dateStart: { type: 'date', ediitable: true },
dateEnd: { type: 'date', ediitable: true },
count: { type: 'number', editable: true, nullable: false }
}
}
}
});

然后我将它绑定(bind)到我的组件

    <div data-ng-if="!displayList">
<analytics-grid data-data-source="dataSource"></analytics-grid>
</div

我将它添加到我的网格选项中的位置

 ctrl.gridOptions = {
dataSource: ctrl.dataSource,
sortable: true,
pageable: true,
columns: [{
field: "languageId",
title: "language",
width: "120px",
filterable: false,
values: _languagesLookupDS.data().toJSON()
}, {
field: "count",
title: "count"
}, {
field: "dateStart",
title: "dateStart"
}, {
field: "dateEnd",
title: "dateEnd"
}],
editable: {
mode: 'popup',
confirmation: true
},
messages: { commands: { create: "" } }
};

然后在组件 View 中绑定(bind)到kendo grid

<kendo-grid data-k-options="$ctrl.gridOptions" data-k-ng-delay="$ctrl.gridOptions" data-k-rebind="$ctrl.dataSource"></kendo-grid>

我在有人切换按钮时显示组件 View (上面代码中的 data-ng-if="!displayList")。我必须将按钮切换到 displayList = true 然后再切换到 displayList = false,以更新网格数据,为什么当我的 Controller 中的数据源发生变化并且按钮设置为显示 kendoGrid 时它不动态更新?

最佳答案

我通过将 ctrl.gridOptions 声明为函数解决了这个问题

 ctrl.gridOptions = function () {
return {
dataSource: ctrl.dataSource,
sortable: true,
columns: [{
field: "languageId",
title: "language",
width: "120px",
filterable: false,
values: _languagesLookupDS.data().toJSON()
}, {
field: "count",
title: "count"
}, {
field: "dateStart",
title: "dateStart"
}, {
field: "dateEnd",
title: "dateEnd"
}]
};
}

然后绑定(bind)到view上

<kendo-grid data-k-scope-field="$ctrl.analyticsGrid" data-k-options="$ctrl.gridOptions()" data-k-rebind="$ctrl.dataSource"></kendo-grid>

我的同事告诉我,问题发生是因为 View 正在寻找选项的对象,并且不知道如何在数据源更改时解决它。现在它只是调用方法并使用新数据源获取选项。

关于angularjs - 动态绑定(bind)剑道网格数据源绑定(bind)到指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43675685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com