C# C中的Datagridview-列的自定义排序

C# C中的Datagridview-列的自定义排序,c#,winforms,sorting,datagridview,C#,Winforms,Sorting,Datagridview,我在C中有一个databound Datatable datagridview。Datatable用LoadIDataReader方法填充。用户可以通过单击标题对DGV的列进行排序。现在我有一个列,它最初在数据库中是一个文本列,我想为它实现一个自定义排序方法 我知道中描述的可能性,并且由于SortCompare事件对数据绑定网格没有用处,我想运行另一个路径: 我想实现一个简单的自己的数据类型,它实现了IComparable接口。然后,我将数据表中相关列的数据类型设置为这个新的数据类型。如果用户单

我在C中有一个databound Datatable datagridview。Datatable用LoadIDataReader方法填充。用户可以通过单击标题对DGV的列进行排序。现在我有一个列,它最初在数据库中是一个文本列,我想为它实现一个自定义排序方法

我知道中描述的可能性,并且由于SortCompare事件对数据绑定网格没有用处,我想运行另一个路径:

我想实现一个简单的自己的数据类型,它实现了IComparable接口。然后,我将数据表中相关列的数据类型设置为这个新的数据类型。如果用户单击标题,将调用数据类型的compare方法。我喜欢这种方法,因为它也可以用于其他DataGridView/datatables

到目前为止这是可能的还是我误解了什么?我现在的问题是如何告诉datareader将数据库中的文本值转换为我的新数据类型,并用此数据类型的对象填充datatable。

请参见:

或:

他们中的任何一个都会带你去你想去的地方。你的想法基本上是正确的,只是你也需要IComparable,光是IComparable是不够的。

看看这个:

或:

他们中的任何一个都会带你去你想去的地方。你的想法基本上是正确的,只是你也需要IComparer,光是IComparable是不够的