Infragistics网格滚动问题

时间:2013-01-23 21:18:23

标签: infragistics ignite-ui iggrid

我有这个代码,如果正在编辑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专家的任何技巧,提示和提示?

1 个答案:

答案 0 :(得分:1)

与滚动相关的API非常基础,您使用的内容非常具有可比性:

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

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

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