当通过ajax加载值时,剑道UI网格外键映射不工作



我正在为一个项目使用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/

希望这能帮助到一些人!

最新更新