在这里,我有一个DatagridView
对象列表的绑定 - 这很好。我所做的是一次列出 10 个左右的结果,可以使用下一个和上一个按钮导航结果,这些按钮只需从源中获取结果并显示它们。
问题是我希望源按照在 Datagrid 视图中单击的任何列进行排序 - 不仅仅是当时正在查看的结果,而是所有结果。
我终于开始接近了。我可以比较我的源,甚至可以通过用于调用数据值的列的名称来设置顺序。我需要知道的是我可以让它自动设置数据类型:
AppSettings.Instance.SearchResults.Sort(
new Comparison<SearchResult>(
(x, y) =>
((Int32) x.GetType().GetProperty("Links").GetValue(x, null)).CompareTo(
((Int32) y.GetType().GetProperty("Links").GetValue(y, null)))));
在这里,我将属性设置为 Links,它是一个 Int。CompareTo
即使它知道它的值,我也无法在不转换值的情况下使用它Int32
。我比较的一些值将属于该类型DateTime
,因此我需要知道是否可以动态比较和获取数据类型,因为我现在已经很接近了。
摘要 - 我想自动识别动态调用的属性值的数据类型。