0

我正在将 Angular JS 与 Kendo UI(带有Kendo Angular Directives)一起用于我正在从事的项目。目前,我正在将数据加载到包含外键字段的 Kendo UI Grid 中。我想将其映射为显示用户友好的文本而不是 Guid。

所以从:

价值外国专栏
一些价值[指南]

价值外国专栏
一些值外来值名称

我想使用 ajax 加载映射中使用的外键值。如果在初始化网格时已经加载了这些值,那么这可以正常工作(下面的 JSFiddle 中有一个示例)。我读过 Kendo UI 不支持使用 ajax 自动执行此操作,因此您必须在初始化网格之前预加载值。但是,我看到的是,即使我这样做了,网格也不会更新,即使数据源确实反映了基于加载值的更改(通过 Chrome 的batarang 扩展程序看到)。

我正在执行以下调用以尝试触发刷新:

$scope.myGridOptions.dataSource.read();

JSFiddle 对不同尝试的评论:http: //jsfiddle.net/ernestopye/64nwD/3/

我已经为我为使其正常工作所做的一些不同尝试添加了评论。难道我做错了什么?或者这可能是 Kendo UI 的 Angular 指令的问题?我对 Kendo 和 Angular 都很陌生,所以我猜它可能是前者。

谢谢你的帮助。

4

1 回答 1

1

Mihai Bazon 通过GitHub issue提供了解决方案。有一个名为 k-ng-delay 的未记录属性有助于促进这种确切的场景。他正在努力将其添加到文档中,并提供了一个示例。

<div id="grid" kendo-grid k-ng-delay="gridOpts" k-options="gridOpts"></div>

我分叉了我的 JSFiddle 示例并将其更新为使用 k-ng-delay:http: //jsfiddle.net/ernestopye/ceKXg/2/

希望这对某人有帮助!

于 2014-06-13T13:37:14.680 回答