1

我有这段代码,如果IgGrid control正在编辑中的单元格,它可以正常工作:

var verticalContainer = $("#BookLabor_scrollContainer");
var topPos = verticalContainer.scrollTop();
$("#BookLabor").igGrid("option", "dataSource", blankLaborDS);
$('#BookLabor').igGrid('dataBind');
verticalContainer.scrollTop(topPos);

但是,当我使用一个IgDialog在网格单元上弹出的按钮单击事件时,这不会滚动回正在编辑的行:

var verticalContainer = $("#BookLabor_scrollContainer");
var topPos = verticalContainer.scrollTop();
$("#BookLabor").igGrid("option", "dataSource", blankLaborDS);
$('#BookLabor').igGrid('dataBind');
verticalContainer.scrollTop(topPos);

有一个虚拟滚动的方法IgGrid,但是在线文档没有详细解释如何使用它。

Infragistics来自所有专家的任何技巧、提示和提示?

4

1 回答 1

1

与滚动相关的 API 非常基本,您使用的 API 非常相似:

  • .igGrid("scrollContainer")只是一个简写,所以你不必使用 #BookLabor_scrollContainer (它是一个内部 id)
  • .igGrid("virtualScrollTo", scrollContainerTop);就像您使用虚拟滚动时的滚动顶部一样,您可能会(如果没有更多代码就无法判断)所以您可能想尝试一下。

但是,是否有理由在单元格编辑后调用 dataBind ?(我很难找到一个场景)。它不是以任何方式设计的,它会在更大的数据中产生大量开销。如果您需要更新单元格值,您应该使用不需要重新绑定并且之后也不需要滚动的更新 API。请参阅:http: //help.infragistics.com/jQuery/2012.2/ui.iggridupdating #方法

至于对话框,更新再次提供了一个内部使用对话框的行模板,我强烈建议如果行编辑是可以接受的。示例: http: //www.infragistics.com/products/jquery/sample/grid/row-edit-template

于 2013-01-24T15:09:11.340 回答