按优先级列对datagridview进行排序

时间:2012-02-23 14:33:41

标签: c# xml winforms datagridview

您好我有一个datagridview,用于显示从XML文件中读取的数据。 在XML文件中,我有模块,描述,截止日期和优先级。我有一个按组合框和按钮排序,我想用它来按截止日期或优先级对datagridview数据进行排序。

以下代码是我目前对排序按钮的代码。截止日期选项工作得很好,但我不确定如何优先订购数据。

对于优先级,我有高,中或低,我希望首先显示高等。

任何帮助和代码示例都将不胜感激。

string sortOption;

if (TaskTable.Rows.Count != 0) // prevents user from sorting before datagridview is filled.
{
    sortOption = sortComboBox.Text;
    switch (sortOption)
    {
        case "Deadline":
            TaskTable.Sort(TaskTable.Columns["Deadline"],
            System.ComponentModel.ListSortDirection.Ascending);
            break;
        case "Priority":
            TaskTable.Sort(TaskTable.Columns["Priority"],
            System.ComponentModel.ListSortDirection.Ascending);
            break;
        }
    }
}

2 个答案:

答案 0 :(得分:0)

尝试为优先级创建一个枚举,其中High = 0,Medium = 1和Low = 2,然后使用Enum.GetValues和Enum.GetNames方法对优先级进行排序。

答案 1 :(得分:0)

您需要实现自定义排序,这可以通过多种方式实现 - 请参阅http://msdn.microsoft.com/en-us/library/ms171608.aspx

中的示例