[英]Start a workflow from a custom button/action on a list item in SharePoint 2010 (all with Visual Studio 2010)
很抱歉問了一個雙重問題,但我卻找不到任何解決辦法,或者對答案的理解不夠。
我的問題就像描述的那樣:
我有一些帶有按鈕的自定義自定義功能區。 而且,如果我單擊設計按鈕,我希望啟動工作流程。
好的,有關設置的更多信息:
這是一個通用列表,這意味着我的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('應該啟動工作流程');”放上,那很好。 。 我的意思是,此警報彈出,我可以單擊“確定”,僅此而已。
現在,我在同一項目中設計了我的工作流程。 有兩種類型,一種具有asp的初始化形式,另一種則沒有,都對所選項目起作用。 我可以在使用標准功能區“工作流”時啟動它們,然后單擊它們。 到目前為止一切都很好。
但是我想通過單擊我的按鈕來啟動每個工作流程,而不是像現在這樣點擊更多。 到目前為止,謝謝您對我的幫助。
我對SharePoint非常陌生。 因此,請在您的答案中包括“添加新的...空元素/ JavaScript文件”之類的內容,或獲得我所假定的內容所必需的內容。
如果您對我的工作流程設計還有其他疑問,我將盡快答復。
非常感謝你,
danbruc
注意:是的,我只希望我的Elements.xml都可以。 我從網絡上拿走了所有東西。 因此,如果您有重新設計的建議,我會開放的。 只是看不見解決方案。 另外,我可以將此選項卡放入ListView的ContextualTab中,但即使是javascript也無法正常工作。
您是否閱讀了有關自定義和擴展SharePoint 2010 Server功能區的文檔?
它非常簡潔,並向您顯示了有關您的問題的要點:您將需要執行回發操作以通過服務器端代碼啟動工作流程:
<CommandUIHandler Command="WebPartContextualTabs.OnPostback"
CommandAction="javascript:__doPostBack('StartMyWorkflowPostBack','');" />
現在在StartMyWorkflowPostBack
放入什么來啟動您的工作流程? 有幾種資源可以通過Google找到更多資源:
讓我簡短地解釋一下:您沒有告訴我們什么樣的工作流程。 基於列表的工作流或網站工作流的啟動方法有所不同。 以列表工作流程為例,您將需要像這樣啟動工作流程:
SPWorkflowProperties.Site.WorkflowManager.StartWorkflow(listItem, associationTemplate, initData);
但是正如您所看到的,您將需要很多東西: SPListItem
, SPWorkflowAssociationTemplate
以及一些初始化數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.