C# Sharepoint 2010自动生成的工作流列
是否可以更改工作流自动生成列的顺序(从最后一个位置到第二个位置)?我需要以编程方式执行此操作,而不是在库>修改视图中 编辑: 我在VisualStudio中创建的整个工作流,它是一个自定义关联、启动和任务表单 EDIT2: 我想出来了,只需在onWorkflowActivated方法中重新排序视图:C# Sharepoint 2010自动生成的工作流列,c#,sharepoint,workflow,C#,Sharepoint,Workflow,是否可以更改工作流自动生成列的顺序(从最后一个位置到第二个位置)?我需要以编程方式执行此操作,而不是在库>修改视图中 编辑: 我在VisualStudio中创建的整个工作流,它是一个自定义关联、启动和任务表单 EDIT2: 我想出来了,只需在onWorkflowActivated方法中重新排序视图: private void onWorkflowActivated_Invoked(object sender, ExternalDataEventArgs e) { stri
private void onWorkflowActivated_Invoked(object sender, ExternalDataEventArgs e)
{
string colName = workflowProperties.TemplateName;
SPView defaultView = workflowProperties.List.DefaultView;
if (defaultView.ViewFields.SchemaXml.Contains(colName))
{
System.Collections.Specialized.StringCollection collStrings = defaultView.ViewFields.ToStringCollection();
List<string> fields = new List<string>();
foreach (string field in collStrings)
{
fields.Add(field);
}
if (fields.IndexOf(colName) != 2)
{
defaultView.ViewFields.MoveFieldTo(colName, 2);
defaultView.Update();
}
}
}
private void onWorkflowActivated_调用(对象发送方,ExternalDataEventArgs e)
{
字符串colName=workflowProperties.TemplateName;
SPView defaultView=workflowProperties.List.defaultView;
if(defaultView.ViewFields.SchemaXml.Contains(colName))
{
System.Collections.Specialized.StringCollection collStrings=defaultView.ViewFields.ToStringCollection();
列表字段=新列表();
foreach(字符串中的字符串字段)
{
字段。添加(字段);
}
if(fields.IndexOf(colName)!=2)
{
defaultView.ViewFields.MoveFieldTo(colName,2);
defaultView.Update();
}
}
}
通过创建自定义工作流关联页面和代码隐藏,您可以控制工作流与列表关联的逻辑。您应该将此文档作为一个起点:
你能提供更多细节吗?是否要以编程方式修改/创建视图,或者在其他位置需要不同的列顺序?我想在工作流关联后重新排序列。我需要在第二位自动生成列,因为如果列表项被批准/拒绝,很难阅读包含30多个列的列表。感谢回复,我已经为我的工作流定制了关联和启动表单。