我有一个SharePoint 2013自定义列表,其中包含数千个数据。所以在Web部件属性下 - >列表Web部件上的AJAX选项,我已启用异步更新和显示手动刷新按钮。现在我的问题是当我单击列表上的下一页2次,然后单击手动刷新按钮时,它会给出一个空列表。但是当我单击“下一页”一次,然后单击“手动刷新”按钮时,它才能正常工作。有没有人遇到过这个问题?
感谢任何帮助。谢谢!
答案 0 :(得分:1)
sharepoint 2013中的AJAX刷新存在错误。 尝试使用javascript进行操作,将以下代码添加到您的 查看或页面,然后只需创建按钮或使其刷新 间隔:
http://www.eliostruyf.com/ajax-refresh-item-rows-in-sharepoint-2013-view/
希望这有帮助
答案 1 :(得分:0)
// automatic refresh based on interval
function autoRefresh()
{
window.setInterval(listViewRefresh, 2000); // 20 seconds
}
// refresh all list view web parts on the page
function listViewRefresh() {
$('#lblMessage').text('refreshed ').fadeIn("slow").fadeOut("slow"); // debugging
inplview.MyRestoreAllClvpsNavigation = MyRestoreAllClvpsNavigation;
inplview.MyRestoreAllClvpsNavigation();
}
// Enumerate list view web parts
function MyRestoreAllClvpsNavigation()
{
EnumCLVPs(MyCLVPRestoreNavigation);
}
// refresh referencing list view web part
function MyCLVPRestoreNavigation(clvp) {
var strHash = ajaxNavigate.getParam("InplviewHash" + clvp.WebPartId());
if (strHash == null)
strHash = '';
var strInpl = '?' + DecodeHashAsQueryString(strHash);
var strShowInGrid = GetUrlKeyValue("ShowInGrid", true, strInpl);
if (strShowInGrid == "True") {
InitGridFromView(clvp.ctx.view, true);
}
else if (clvp.ctx.inGridMode) {
ExitGrid(clvp.ctx.view, true);
}
clvp.strHash = strHash;
clvp.fRestore = true;
var curRootFolder = GetRootFolder2(this);
if (curRootFolder != null)
strInpl = SetUrlKeyValue("RootFolder", unescapeProperly(curRootFolder), true, strInpl);
clvp.RefreshPagingEx(strInpl, true, null);
}
$(document).ready(function() {
autoRefresh();
});
查看更多信息https://roykimsharepoint.wordpress.com/2013/12/14/sharepoint-2013-custom-list-view-web-part-refresh/