我正在使用DataGridView。
ValueType是Object。所以,它从第一个数字开始命令它。
但我想按数字排序。
接下来是我的代码。
public event DataGridViewSortCompareEventHandler OnSortCompare;
DataGridView Grid;
Grid.ColumnHeaderMouseClick += Grid_ColumnHeaderMouseClick;
Grid.OnSortCompare += new DataGridViewSortCompareEventHandler(Grid_SortCompare);
void Grid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
OnSortCompare(sender, ***?***);
}
void Grid_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
int a = int.Parse(e.CellValue1.ToString());
int b = int.Parse(e.CellValue2.ToString());
e.SortResult = a.CompareTo(b);
e.Handled = true;
}
但我不知道如何传递'e'(DataGridViewSortCompareEventArgs e)。
是' *? * '在我的代码中。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以按以下方式对网格进行排序。
Grid.Sort(Grid.Columns[0], ListSortDirection.Descending);
请注意,必须将列的ValueType
设置为正确的类型,否则排序无法正常工作。
Grid.Columns[0].ValueType = typeof(int);