在 DexEpress ASPxGridView 中,我有一列包含电压。原始值看起来像 200、1000、120,但我正在应用将这些值转换为 200 V、1 kV 和 120 V 的缩放比例。
如何根据原始值而不是字符串值对列进行排序?
(在 .Net 数据网格中,我有 2 列:一列包含原始数据(隐藏),另一列包含转换后的数据,我使用原始数据列对行进行排序。这里有类似的东西吗?)
在 DexEpress ASPxGridView 中,我有一列包含电压。原始值看起来像 200、1000、120,但我正在应用将这些值转换为 200 V、1 kV 和 120 V 的缩放比例。
如何根据原始值而不是字符串值对列进行排序?
(在 .Net 数据网格中,我有 2 列:一列包含原始数据(隐藏),另一列包含转换后的数据,我使用原始数据列对行进行排序。这里有类似的东西吗?)
将列的 Settings.SortMode 设置为 Value 属性。这应该按照您需要的方式强制此列中的网格排序值。
我在排序时遇到了问题。我使用
this.gvRuleDetail.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] {
new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.gcRuleOrder, DevExpress.Data.ColumnSortOrder.Ascending)});
但后来我意识到显示的列已排序但实际数据我的意思是第一次加载的数据没有排序。要解决这个问题,您还必须更新第一个数据:
this.gvRuleDetail.BeginSort();
this.gvRuleDetail.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] {
new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.gcRuleOrder, DevExpress.Data.ColumnSortOrder.Ascending)});
this.gvRuleDetail.EndSort();
对于 devexpress 问题,我推荐 devexpress 文档here