如何设置从最后到第一个数据表的数据表的滚动条位置?
实际上,我希望从下到上看到这些信息。以下是我的代码:
<p:dataTable var="c" value="#{MessagingUserBean.inboxDetails1}" scrollable="true" scrollHeight="517" liveScroll="true" emptyMessage="No Message Found" scrollRows="8" scrollWidth="815" >
答案 0 :(得分:1)
您可以尝试不使用liveScroll,因为您不知道dataList的结尾。尝试这个,也许这符合您的需求。这将滚动到dataTable的底部并延迟。
<h:form prependId="false">
<p:dataTable id="dataTable" var="c" value="#{MessagingUserBean.inboxDetails1}" scrollHeight="517" liveScroll="true" emptyMessage="No Message Found" scrollWidth="815" >
//Your dataTable stuff
</p:dataTable>
</h:form>
<script>
//Get the scrollheight
var s = jQuery('#dataTable .ui-datatable-scrollable-body').prop('scrollHeight');
//Get total size of datatable
var o = jQuery('#dataTable .ui-datatable-scrollable-body').prop('offsetHeight');
//calculate how many times it can scrolldown to set your timer
var t = Math.ceil(s/o);
//Excute scrolldown animation (max scrolldown is scrollHeight - offsetHeight)
$('#dataTable .ui-datatable-scrollable-body').animate({scrollTop:s-0}, t*1000);
</script>
答案 1 :(得分:1)
你需要一些javascript才能做到这一点。
var $scrollable = $(dataTableSelector).children('.ui-datatable-scrollable-body')[0];
$scrollable.scrollTop = $scrollable.scrollHeight;
其中“dataTableSelector”是primefaces表的一个选择器(例如styleClass)。
当然,这假设您显示的列表中的最后一个元素实际上是您要显示的第一个元素。