为了造型,我摆脱了我网站上的O365栏和编辑栏(#s4-ribbonrow)。我希望用户仍然能够使用"快速编辑"按钮在选择列表项时提供。如何在我的页面上的自定义按钮中实现相同的功能?
答案 0 :(得分:1)
打开SharePoint快速编辑模式以进行查看
SharePoint使用此方法:
EnsureScriptParams('inplview', 'InitGridFromView', 'VIEW ID');return false;
所以,你的样本锚元素:
<a onclick="EnsureScriptParams('inplview', 'InitGridFromView', SP.ListOperation.ViewOperation.getSelectedView());return false;">TEST</a>
使用SP.ListOperation.ViewOperation.getSelectedView()
获取较旧共享点中的视图ID,或使用SharePoint Online中的_spPageContextInfo.viewId
打开SharePoint编辑项对话框
使用SP.ListOperation.Selection.getSelectedItems()
从视图中获取所选项目。
单击按钮处理程序应如下所示:
if (SP.ListOperation.Selection.getSelectedItems().length === 1) {
var itm = SP.ListOperation.Selection.getSelectedItems()[0];
var _url = _spPageContextInfo.siteServerRelativeUrl + '/' + _spPageContextInfo.layoutsUrl + '/listform.aspx?PageType=6&ListId=' +_spPageContextInfo.pageListId + '&ID=' + itm.id;
console.log(_url);
var options = {
title: "Edit item",
width: 500,
height: 600,
showClose: true,
allowMaximize: true,
autoSize: true,
url: _url
};
SP.UI.ModalDialog.showModalDialog(options);
}
最难的部分是生成正确的网址:
PageType=6
表示editform,4
的值表示发送
要正确链接到listform.aspx
页面,您需要使用一些_spPageContextInfo
属性,例如list id,server relative url和layouts folder url