gpt4 book ai didi

sharepoint - 在 sharepoint 中禁用单个列表项的更新

转载 作者:行者123 更新时间:2023-12-04 07:11:20 28 4
gpt4 key购买 nike

我想知道如何做的是,当有人编辑列表项时,它会通过我的事件代码,该代码在进行更改并点击保存时触发,我不希望任何人能够在该列表项仍在处理的同时对其进行编辑那个请求。所以我想知道在那种情况下我是否可以禁止其他人编辑单个项目,直到它完成它正在做的事情。

最佳答案

不知道我是否完全理解你想要什么。

尝试在列表或内容类型中添加一个字段(如果您愿意可以隐藏)以用作标志。当您输入事件代码时,请确保先检查标志,如果未设置,请设置它并执行您的操作。完成任务后,取消设置标志。

这里有一些代码来说明。请注意,我使用了名为“更新”的列。如果您不想添加列,也可以使用 SPListItem 的属性。

哦,别忘了先调用 DisableEventFiring,然后再调用 SPListItem.Update 和 EnableEventFiring()。为了得到这个,你手上会有一个非常讨厌的无限循环。

.b

    public override void ItemAdding(SPItemEventProperties properties)
{
if (properties.ListItem["updating"].ToString() == "updating")
{
properties.Cancel = true;
properties.ErrorMessage = "Item is currently updating, please try again later";
}
else
{
properties.ListItem["updating"] = "updating";
this.DisableEventFiring();
properties.ListItem.Update();
this.EnableEventFiring();

// do your stuff

properties.ListItem["updating"] = "";
this.DisableEventFiring();
properties.ListItem.Update();
this.EnableEventFiring();
}
}

关于sharepoint - 在 sharepoint 中禁用单个列表项的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/290523/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com