Sharepoint工作流未更新
我已经为自动填充sharepoint列表中的列编写了一个工作流。当我添加一个新条目时,什么也没有发生。但是,如果我转到另一个列表,然后返回带有工作流的列表,我可以看到它已经工作了。我已将工作流设置为在创建新项目时启动,工作流中是否有其他设置使其立即更新 没有。您应该改用SPItemEventReceiver,并使用ItemUpdate方法。这是即时工作的,工作流需要一些时间来启动,并且它是异步运行的。此外,工作流很繁重,您应该避免将其用于非常简单的操作 事件接收器的示例代码为Sharepoint工作流未更新,sharepoint,sharepoint-2010,sharepoint-designer,Sharepoint,Sharepoint 2010,Sharepoint Designer,我已经为自动填充sharepoint列表中的列编写了一个工作流。当我添加一个新条目时,什么也没有发生。但是,如果我转到另一个列表,然后返回带有工作流的列表,我可以看到它已经工作了。我已将工作流设置为在创建新项目时启动,工作流中是否有其他设置使其立即更新 没有。您应该改用SPItemEventReceiver,并使用ItemUpdate方法。这是即时工作的,工作流需要一些时间来启动,并且它是异步运行的。此外,工作流很繁重,您应该避免将其用于非常简单的操作 事件接收器的示例代码为 public cl
public class MyEventReceiver :SPItemEventReceiver
{
public override void ItemUpdating(SPItemEventProperties properties)
{
UpdateField(properties);
}
public override void ItemAdding(SPItemEventProperties properties)
{
UpdateField(properties);
}
private void UpdateField(SPItemEventProperties properties)
{
EventFiringEnabled = false;
var item = properties.ListItem;
// do calculation here
item.SystemUpdate(false); // this update that is most suitable for automatic updates
EventFiringEnabled = true;
}
}
然后将此事件接收器添加到列表中。我希望这对您有所帮助如果无法使用Visual Studio,您也可以尝试将计算列添加到列表中。这样,最难的一点是定义一个公式,该公式将从列表项的其他列获取数据并执行计算。并可以为您提供有关如何在SharePoint的计算列中编写公式的详细信息,无需代码。谢谢您的建议。听起来是个不错的选择。但是,我没有visual studio。有没有办法通过sharepoint designer实现这一点?