【问题标题】:Clear Sorting from DataView从 DataView 清除排序
【发布时间】:2013-06-29 14:15:07
【问题描述】:

我有一个dataviewdataview 的来源是来自sql serverviewDataview 已排序。像这样:

dv_building.Sort = "bld_number" 

这个dataview 是我的datasourcedatagird1

DataGrid1.DataSource = dv_building 

现在我想删除排序dv_building.Sort = String.Empty,但我的数据网格的视图已更改,因为排序已删除,即dataview 已恢复为默认排序,可能是通过聚集索引。

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

【问题讨论】:

  • 如果您想保持默认排序,为什么不能在 SQL 服务器站点上进行排序并将已经预排序的数据加载到 DataTable
  • 您好 Dkozl,感谢您的更新。我们的确切要求是在编辑自定义控件(绑定到 DataView)时禁用排序。请帮助了解如何实现这一目标
  • 它也会被 Grid 裁判,使用类似 clone 的东西。你需要参考吗?
  • dHi Smith,感谢您的回复,是的,我们创建了自定义网格,如 DataGrid,具有排序、过滤、分组功能。我们想为 Disablesortingonedit 提供排序选项。我们需要在编辑 customgrid 控件时禁用 DataView 中的排序。可以在清除排序的同时保持Datatable中的当前视图
  • 是否可以禁用 DataView 中存在的特定 DataRowView 的排序?

标签: c# wpf dataview


【解决方案1】:

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

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

我在每次数据视图列修改(列参与排序)后用订单号枚举此列。当我需要冻结排序时,我将 DataView.Sort 属性切换到此“订单”列。解冻 - dataView.Sort = regularSortCriterion.

【讨论】:

    猜你喜欢
    • 2014-03-28
    • 2012-10-15
    • 1970-01-01
    • 2012-11-04
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多