Jsf 2 PrimeFaces数据表滚动条位于所需位置
我有一个可滚动的dataTable,其中包含100多条记录,当我添加一条新记录(在默认的可视区域之外)并更新dataTable时,dataTable从记录0加载,而我需要dataTable视图位于前一个位置 我的数据表代码Jsf 2 PrimeFaces数据表滚动条位于所需位置,jsf-2,primefaces,Jsf 2,Primefaces,我有一个可滚动的dataTable,其中包含100多条记录,当我添加一条新记录(在默认的可视区域之外)并更新dataTable时,dataTable从记录0加载,而我需要dataTable视图位于前一个位置 我的数据表代码 <p:dataTable id="DataTable" value="#{dtMB.selectDataModel}" var="test" scrollable="TRUE" scrollHeight="500" styleClass="day-column2" se
<p:dataTable id="DataTable" value="#{dtMB.selectDataModel}" var="test" scrollable="TRUE" scrollHeight="500" styleClass="day-column2" selectionMode="single" >
<ui:insert name="TableInsert" >
<ui:include src="test.xhtml" />
</ui:insert>
</p:dataTable>
命令按钮(对话框内),用于更新数据表
<p:commandButton id="saveNew" value="Save" type="submit" process="@parent" onsuccess="addNew.hide()" action="#{dtMB.addNew()}" update=":FORM:usrMsg :FORM:TABView:DataTable"/>
目前我需要滚动到第n条记录,查看添加了什么或进行任何更新等。
primeface datatable中是否有任何选项,或者我需要为其编写javascript。我使用以下帖子完成了上述操作 我的代码 剧本
function saveScrollPos() {
var scrollPos = jQuery('#receptionFORM\\:receptionTV\\:scheduleDataTable .ui-datatable-scrollable-body').prop('scrollTop');
document.getElementById('receptionFORM:scrollPos').value = scrollPos;
}
function autoScroll() {
var scrollPos = document.getElementById('receptionFORM:scrollPos').value;
jQuery('#receptionFORM\\:receptionTV\\:scheduleDataTable .ui-datatable-scrollable-body').animate({scrollTop:scrollPos}, scrollPos);
}
HiddenInput
<h:inputHidden id="scrollPos" />
保存记录时,在CommandButton中输入以下代码
oncomplete="autoScroll()"
帮我修理了一只虫子。永远感恩:)
oncomplete="autoScroll()"