我正在为一个项目使用Angular JS和Kendo UI(带有Kendo Angular指令)。目前,我正在加载数据到一个剑道UI网格,其中包含一个外键字段。我想把它映射为显示用户友好的文本,而不是Guid。
:
<>之前价值 ForeignColumn一些价值[Guid]之前<>之前价值 ForeignColumn一些外部值名称之前我想使用ajax加载映射中使用的外键值。如果在初始化网格时已经加载了这些值,则可以正常工作(在下面的JSFiddle中有一个示例)。我读到Kendo UI不支持使用ajax自动执行此操作,因此必须在初始化网格之前预加载值。然而,我所看到的是,即使我这样做,网格也不会得到更新,即使数据源确实反映了基于加载值的变化(通过Chrome的batarang扩展看到)。
我正在执行以下调用来尝试触发刷新:
$scope.myGridOptions.dataSource.read();
JSFiddle的注释不同的尝试:http://jsfiddle.net/ernestopye/64nwD/3/
我已经为我所做的一些不同的尝试添加了注释,以使其工作。我做错了什么吗?或者这是Kendo UI的Angular指令的问题?我对剑道和Angular都很陌生,所以我猜可能是前者。
谢谢你的帮助
Mihai Bazon通过GitHub问题提供了一个解决方案。有一个未记录的属性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/
希望这能帮助到一些人!