DexEpress ASPxGridView には、電圧を含む列があります。元の値は 200、1000、120 のように見えますが、値を 200 V、1 kV、120 V に変換するスケーリングを適用しています。
文字列値ではなく、元の値に基づいて列を並べ替えるにはどうすればよいですか?
(.Net データグリッドには 2 つの列がありました。1 つは元のデータ (非表示) で、もう 1 つは変換されたデータで、元のデータ列を使用して行を並べ替えました。ここに似たものはありますか?)
DexEpress ASPxGridView には、電圧を含む列があります。元の値は 200、1000、120 のように見えますが、値を 200 V、1 kV、120 V に変換するスケーリングを適用しています。
文字列値ではなく、元の値に基づいて列を並べ替えるにはどうすればよいですか?
(.Net データグリッドには 2 つの列がありました。1 つは元のデータ (非表示) で、もう 1 つは変換されたデータで、元のデータ列を使用して行を並べ替えました。ここに似たものはありますか?)
列の 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 のドキュメントをお勧めします