当我添加一条新记录(在默认可视区域之外)并且更新dataTable从记录0加载的数据表时,我有一个带有100多条记录的可滚动dataTable,而我需要在前一个位置加载数据表视图.
我的dataTable代码
<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>
Run Code Online (Sandbox Code Playgroud)
命令按钮(在对话框内)更新数据表
<p:commandButton id="saveNew" value="Save" type="submit" process="@parent" onsuccess="addNew.hide()" action="#{dtMB.addNew()}" update=":FORM:usrMsg :FORM:TABView:DataTable"/>
Run Code Online (Sandbox Code Playgroud)
目前我需要回滚到第n条记录,看看添加了什么或做了任何更新等.在primeface数据表中是否有任何选项,或者我需要为此编写一个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);
}
Run Code Online (Sandbox Code Playgroud)
HiddenInput
<h:inputHidden id="scrollPos" />
Run Code Online (Sandbox Code Playgroud)
在数据表行选择的Ajax事件中
onstart="saveScrollPos()"
Run Code Online (Sandbox Code Playgroud)
CommandButton中的以下代码在保存记录时
oncomplete="autoScroll()"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10758 次 |
最近记录: |