【发布时间】:2016-12-01 16:16:28
【问题描述】:
我有两个剑道网格 (A, B) ...B 通过单击 A 加载,其数据源通过 A 中选定行的属性加载..
A.帐户
dataSource: {
data: this.gridA.dataItem(this.gridA.select()),
},
我的问题是,在 BI 中必须使用网格更改属性,但是当属性更改网格时,它会重新加载,并且如果我在更改网格中的属性时有 1000 行(任何行,999 即),滚动回到开头 ...我已经阅读并尝试理解它,但是无法修复它...根据官方文档,
选择的行var row = this.gridApprovals.select();
var caBean = this.gridApprovals.dataItem(row);
它是一个 ObservableObject,因此,当我尝试更改一个属性时,某个(ObservableOject 的)方法会产生这种行为,并且重新加载网格,它会迭代每个数据源项...
编辑: 我忘了提..保持B网格的变化与其在A slection中的关系之间的关系很重要.. 这是一个道场项目http://dojo.telerik.com/uYemI/2
【问题讨论】:
-
您至少需要提供您的网格定义。更好的是,提供一个指向展示问题的剑道道场示例的链接。
-
谢谢..我已经做到了....这里是链接dojo.telerik.com/uYemI/2
-
我还不知道如何修复它,但它是导致它的 k-rebind="carsGridOptions"...当 editCell 触发时,此属性会导致 k-rebind触发所以 setGridOptions 触发重新绑定整个数据源(并重置网格)。您需要找到一种方法来将新数据推送到网格中而不使用 k-rebind(由于某种原因会在编辑时触发)。所以本质上,每个 editCell 都会导致网格重新初始化其数据源(通过 k-rebind 映射),这会导致重新读取。我们不需要这样做......;)
标签: javascript angularjs kendo-ui grid