如何在Azure DevOps托管XML流程中保持选择列表原始排序
解决选择列表按原始顺序显示的问题
你遇到的是String类型字段的ALLOWEDVALUES默认按字母排序的问题,以下是两种可行的解决方法:
方法1:改用Picklist类型字段(推荐)
String类型的枚举列表会默认按字典序排序,而Picklist类型字段会严格保留LISTITEM的配置顺序。只需修改字段的type属性为Picklist即可:
修改后的配置代码:
<FIELD name="Release Date" refname="ReleaseDate" type="Picklist" reportable="dimension"> <ALLOWEXISTINGVALUE /> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="May 2023 Rel" /> <LISTITEM value="Jun 2023 Rel" /> <LISTITEM value="Jul 2023 Rel" /> <LISTITEM value="Aug 2023 Rel" /> <LISTITEM value="Sep 2023 Rel" /> <LISTITEM value="Oct 2023 Rel" /> <LISTITEM value="Nov 2023 Rel" /> <LISTITEM value="Dec 2023 Rel" /> <LISTITEM value="Jan 2024 Rel" /> <LISTITEM value="Feb 2024 Rel" /> <LISTITEM value="Mar 2024 Rel" /> <LISTITEM value="Apr 2024 Rel" /> <LISTITEM value="May 2024 Rel" /> </ALLOWEDVALUES> </FIELD>
操作步骤:
- 导出当前工作项类型的XML定义
- 修改上述字段的
type属性 - 重新导入修改后的XML定义
- 刷新页面后,选择列表会按配置的时间顺序显示
方法2:添加排序前缀(临时 workaround)
如果无法修改字段类型,可以给每个LISTITEM的value添加数字前缀,强制排序顺序,例如:
<LISTITEM value="01_May 2023 Rel" /> <LISTITEM value="02_Jun 2023 Rel" /> ... <LISTITEM value="13_May 2024 Rel" />
如果需要隐藏前缀,可以通过自定义工作项表单的样式来实现,但这种方法不如修改字段类型直接可靠。
内容的提问来源于stack exchange,提问作者galsi
相关产品推荐
相关产品推荐

