从DataView中清除“排序”

本文关键字:排序 清除 DataView | 更新日期: 2023-09-27 18:20:37

我有一个dataviewdataview的来源是来自sql serverview。对CCD_ 5进行排序。像这样:

dv_building.Sort = "bld_number" 

这个dataview是我的datagird1:的datasource

DataGrid1.DataSource = dv_building 

现在我想删除排序dv_building.Sort = String.Empty,但我的数据网格视图发生了变化,因为排序被删除了,即dataview返回到了默认排序,可能是通过聚集索引。

如何删除排序,但实际排序仍由bld_number保留?有可能吗?

从DataView中清除“排序”

我找到了这个解决方法来实现请求的行为:我可以访问从Datatable派生的类的实现,附加到Columns:的附加列

Columns.AddRange(
                new DataColumn[N]
                    {
                        ...
                        new DataColumn("Order",       typeof (int))
                    }

每次修改数据视图列(参与排序的列)后,我都会用序号枚举该列。当我需要冻结排序时,我将DataView.Sort属性切换到此"顺序"列。解冻-dataView.Sort=regularSortCredition。