SharePoint Foundation 2013手动刷新列表

时间:2013-11-18 02:39:19

标签: sharepoint web-parts sharepoint-2013

我有一个SharePoint 2013自定义列表,其中包含数千个数据。所以在Web部件属性下 - >列表Web部件上的AJAX选项,我已启用异步更新和显示手动刷新按钮。现在我的问题是当我单击列表上的下一页2次,然后单击手动刷新按钮时,它会给出一个空列表。但是当我单击“下一页”一次,然后单击“手动刷新”按钮时,它才能正常工作。有没有人遇到过这个问题?

感谢任何帮助。谢谢!

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/