如何维护订单优先顺序

时间:2011-02-03 07:29:12

标签: c# algorithm

我在数据网格中列出了几个任务,其任务名称和duedate。我基于订单优先级显示所有任务。如果用户需要在datagrid中间添加任务,我会读取所选任务的优先级编号,将其递增,并将其设置为新任务的优先级编号。然后我增加新任务后列出的所有任务的优先级数。

我从数据库中读取所有任务并将其保存在ObservableCollection中。在显示任务之前,我根据顺序优先顺序进行排序。

       public class Task
          {
              public int TaskId { get; set; }
              public string TaskName { get; set; }
              public DateTime DueDate { get; set; }
              public int OrderPrecedence { get; set; }
          }

如果将一个新任务添加到集合中,我需要更新所有其他任务优先级。有没有一种很好的方法来处理订单优先级而不更新其他任务的优先级数字?

1 个答案:

答案 0 :(得分:1)

您可以拥有任务优先级,而不是维护订单吗?与Windows任务优先级类似。即,所有“高”优先级任务将在“正常”优先级任务之前运行。如果两个任务具有相同的优先级,那么具有较早DueDate的任务将首先运行。