asp.net如何自定义 Datagridview 排序这样

标签: Asp.net windows C#
发布时间: 2016/7/3 11:56:43
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 windows Datagridview 与列的值

id
---
0
0
0
5
2
7

我想升序排序的这但零含细胞会下。 像这样的-

2
5
7
0
0
0

解决方法 1:

如果不使用的数据源为您的网格,然后您可以使用DataGridView.SortCompare事件像这样

void yourDataGridView_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
    if (e.Column.Name == "Id" && e.CellValue1 != null && e.CellValue2 != null)
    {
        var x = (int)e.CellValue1;
        var y = (int)e.CellValue2;
        e.SortResult = x == y ? 0 : x == 0 ? 1 : y == 0 ? -1 : x.CompareTo(y);
        e.Handled = true;
    }
}

别忘了将事件处理程序附加到您的网格视图。

赞助商