首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据两个不同列中的值对SharePoint列表进行自定义排序

根据两个不同列中的值对SharePoint列表进行自定义排序
EN

Stack Overflow用户
提问于 2016-02-22 21:02:33
回答 1查看 566关注 0票数 0

我有两个列,需要根据它们进行排序。第1栏:优先事项第2栏:老化。

第一个排序需要通过检查第一列来完成。如果优先级是尽快,这些项目需要显示第一,然后它需要根据老化最高的第二列进行排序。此列表中的项目将不断添加。

我已尝试创建工作流,但没有看到相同的选项。

有什么建议吗。

你好,雷纳托。

EN

回答 1

Stack Overflow用户

发布于 2016-02-22 22:20:45

列表视图的默认排序有什么问题?它似乎满足了你的需求。

在第一个排序列中,设置优先级,在第二个列中,设置年龄,不是?

编辑:您不能使用此解决方案,因为您的排序中需要一些逻辑。

在本例中,我建议使用事件接收器和自定义列。假设我们将此列命名为"Position“。这个解决方案需要一些开发方面的知识。

您的列位置将存储一个整数。这个整数将由您放入事件接收器中的逻辑来计算。最后,您的列表将根据列的位置进行排序。

在事件接收者中,你的工作是在每次有变化的时候计算所有物品的位置,所以:

代码语言:javascript
运行
复制
public override void ItemUpdated(SPItemEventProperties properties)
{
    base.ItemUpdated(properties);
    this.EventFiringEnabled = false; //Prevent the Event Receiver to fire twice
    SPList list = properties.ListItem.Parent;
    SPListItemCollection items = list.GetItems(); //Get all items or use some query to get the items you want to retrieve 
    try
    {
        SetOrder(items); //This function define the column position
    }
    catch (Exception ex)
    {
        //LOG
    }
    finally
    {
        this.EventFiringEnabled = true;
    }
}

private void SetOrder(SPListItemCollection items)
{
    //Here reorder items in your list by setting the column position according to your needs.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35554436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档