gpt4 book ai didi

sharepoint - 从 SharePoint 2010 中列表项上的自定义按钮/操作启动工作流(全部使用 Visual Studio 2010)

转载 作者:行者123 更新时间:2023-12-04 02:09:36 24 4
gpt4 key购买 nike

我很抱歉问了一个双重问题,但我很困惑找不到解决方案 - 或者对答案缺乏理解。

我的问题就像描述的那样:

我有一些带有按钮的自定义丝带。如果我点击设计好的按钮,我喜欢开始一个工作流程。

好的,关于设置的更多信息:

这是一个通用列表,意味着我的 elemets.xml 看起来像这样:

<CustomAction
Id="MyCustomRibbonTab"
Location="CommandUI.Ribbon.ListView"
RegistrationId="100"
RegistrationType="List">
<CommandUIExtension>
<CommandUIDefintions>
<CommandUIDefinition
Location="Ribbon.Tabs._children">
<Tab Id="Ribbon.CustomTab" Sequence="501">
... (Scaling)
<Groups Id="Ribbon.CustomTab.Groups">
<Group
Id="Ribbon.CustomTab.GroupOne"
Sequence="52">
<Controls Id="Ribbon.CustomTab.GroupOne.Controls">
<Button
Id="Ribbon.CustomTab.GroupOne.ButtonOne"
Command="CustomTab.ButtonOneCommand"
Sequence="11">
</Controls>
</Group>
</Groups>
</Tab>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="CustomTab.ButtonOneCommand"
CommandAction="javascript:alert('how start workflow here?');" />
/>
</CommandUIHandlers>
</CommandUIExtension>
<!-- what about starting workflow here? How? -->
</CustomAction>

希望我的 XML-Post 的意思很清楚。好的,如果我输入 CommandAction="javascript:alert('should start a workflow');".我的意思是,这个警报弹出,我可以点击确定,没有别的。

现在我在同一个项目中设计了我的工作流程。有两种,一种在asp中有启动形式,一种没有,都是对选中的item进行操作。我可以在使用标准功能区“工作流程”时启动它们,然后单击它们。到目前为止一切都很好。

但我想通过单击我的按钮来启动每个工作流程,而不是像现在这样需要更多的点击次数。感谢您到目前为止对我的帮助。

我是 SharePoint 的新手。因此,请在您的答案中包含诸如“添加新的...空元素/JavaScript 文件”之类的内容,或者任何获得我假设的内容所必需的内容。

如果您对我的工作流程设计有更多疑问,我会尽快回答。

非常感谢,

丹布鲁克

注意:是的,我只希望我的 Elements.xml 没问题。我都是从网上拿的。所以如果你有重新设计的建议,我是开放的。只是盲目地看到解决方案。 此外,我可以将此选项卡放在 ListView 的 ContextualTab 中,但即使是 javascript 也无法正常工作。

最佳答案

您是否阅读了关于 Customizing and Extending the SharePoint 2010 Server Ribbon 的文档? ?

它非常简洁,向您展示了与您的问题有关的要点:您将需要执行回发以通过服务器端代码启动工作流:

<CommandUIHandler Command="WebPartContextualTabs.OnPostback"
CommandAction="javascript:__doPostBack('StartMyWorkflowPostBack','');" />

现在要在 StartMyWorkflowPostBack 中放入什么来启动您的工作流?有多种资源可供使用,您可以通过 Google 找到更多资源:

让我简单解释一下:你没有告诉我们什么样的工作流程。基于列表的工作流或站点工作流,它们的启动方法不同。以列表工作流为例,您需要像这样启动工作流:

SPWorkflowProperties.Site.WorkflowManager.StartWorkflow(listItem, associationTemplate, initData);

但是如您所见,为此您需要很多东西:SPListItemSPWorkflowAssociationTemplate 以及一些启动数据。

关于sharepoint - 从 SharePoint 2010 中列表项上的自定义按钮/操作启动工作流(全部使用 Visual Studio 2010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603554/

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