我已经为自动填充共享点列表中的列编写了一个工作流程。当我添加新条目时没有任何反应。但是,如果我转到另一个列表,然后返回到工作流程列表,我可以看到它已经有效。我已经设置了工作流程,以便在创建新项目时启动,工作流程中是否有其他设置可以立即更新?
答案 0 :(得分:0)
不,没有。您应该使用SPItemEventReceiver并使用ItemUpdating方法。这是立即起作用的,工作流程需要一些时间来启动并且它以异步方式运行。此外,工作流程很重,您应该避免将它们用于非常简单的操作。
事件接收器的示例代码是
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;
}
}
然后将此事件接收器添加到列表中。我希望link帮助
答案 1 :(得分:0)