datagridview的自定义排序
问题描述:
我使用下面的代码片段来排序datagridview使用从下拉菜单中选择sortOption - 截止日期或优先级。datagridview的自定义排序
我已经有最后期限选项很好地工作。但是我认为优先选项的只是此刻排序它aphabetically但我要显示具有高优先级排第一,然后介质,然后在TaskTable(DataGridView中)低
任何想法吗?
private void sortButton_Click(object sender, EventArgs e)
{
string sortOption; // selected sorting method
sortOption = sortComboBox.Text;
switch (sortOption)
{
case "Deadline":
TaskTable.Sort(TaskTable.Columns["Deadline"],
System.ComponentModel.ListSortDirection.Ascending); // sort by deadline, nearest first.
break;
case "Priority":
TaskTable.Sort(TaskTable.Columns["Priority"],
System.ComponentModel.ListSortDirection.Ascending); // sort by priority - high, medium, low
break;
答
您可以为每种类型(如1,2,3)添加一行额外的行,并使用该行(隐藏行)进行排序。以机械方式将数字分配给每种类型并使用该整数进行排序。
答
那么您定义的优先级值是'高','中'和'低'?如果是这种情况,你应该定义一个散列表,一个新的结构或类似的东西,以便为用户提供诸如“高”,“中等”之类的值,但要确保它被正确排序(按字母顺序排列,即取决于实际的十六进制值)。
高1 介质2 低3
其他行会完成这项工作了,但是我不认为这是最好的选择。您应该封装实际值及其各自的密钥。以防万一需求发生变化,您将更容易匹配它们。
答
如果这是真的WPF
,不排序DataGrid
,但排序绑定数据,通常更容易实现其。
DataGridView是winforms不是WPF – 2012-02-09 16:19:14