我正在使用Angular JS和Kendo UI(使用Kendo Angular Directives)来处理我正在进行的项目。目前,我正在将数据加载到包含外键字段的Kendo UI Grid中。我想将其映射为显示用户友好的文本而不是Guid。
所以来自:
Value ForeignColumn Some Value [Guid]
要
Value ForeignColumn Some Value Foreign Value Name
我想使用ajax加载映射中使用的外键值。如果在初始化网格时已经加载了这些值,那么这很好(在下面的JSFiddle中有一个这样的例子)。我已经读过Kendo UI不支持使用ajax自动执行此操作,因此您必须在初始化网格之前预加载值。但是,我所看到的是,即使我这样做,网格也不会更新,即使数据源确实反映了基于加载值的更改(通过Chrome的batarang扩展看到)
我正在执行以下调用以尝试触发刷新:
$scope.myGridOptions.dataSource.read();
JSFiddle对不同尝试的评论:http://jsfiddle.net/ernestopye/64nwD/3/
我已经为我为实现这一目标所做的一些不同尝试添加了评论。难道我做错了什么?或者这可能是Kendo UI的Angular指令的问题?我对剑道和Angular都很陌生,所以我猜它可能是前者。
感谢您的帮助。
答案 0 :(得分: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/
希望这有助于某人!