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