ドロップダウンに入力する AddWrkfl.aspx のコードを次に示します。
<select id="TaskList" name="TaskList" style="<SharePoint:EncodedLiteral runat='server' text='<%$Resources:wss,AddWrkfl_ListSelectionControlsStyle%>' EncodeMethod='HtmlEncode'/>" size="1" align="absmiddle" onchange="OnChangeSelectTaskList();">
<%
foreach (SPList list in Web.Lists)
{
if (list.BaseTemplate == SPListTemplateType.Tasks)
{
%>
<option value=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(list.ID.ToString()),Response.Output);%>>
<% SPHttpUtility.HtmlEncode(list.Title,Response.Output); %>
</option>
<%
}
}
%>
<option id="OptCreateNewTaskList" value="" />
</select>
これに基づいて、ドロップダウンに表示するには、カスタム リスト定義のListTemplate要素の Type 属性値を 107 にする必要があります。
または、フィーチャー レシーバー内でプログラムによってワークフローをリストに関連付けることもできます。
SPWorkflowTemplate template = web.WorkflowTemplates.GetTemplateByName(
"My Workflow",
System.Globalization.CultureInfo.CurrentCulture);
SPWorkflowAssociation association = SPWorkflowAssociation.CreateListAssociation(
template,
"My Instance",
web.Lists["My Workflow Tasks"],
web.Lists["Workflow History"]);
list.WorkflowAssociations.Add(association);