【问题标题】:How do you enable sorting on a Silverlight DataGrid that has grouping?如何在具有分组的 Silverlight DataGrid 上启用排序?
【发布时间】:2011-12-01 19:07:26
【问题描述】:

我似乎找不到一种方法来指定它首先按组名排序,然后按列排序。我正在使用 DataGrid。

编辑:我的错误,我使用的是 DataGrid,而不是 Grid。

【问题讨论】:

    标签: .net silverlight xaml silverlight-4.0


    【解决方案1】:

    Grid 不是数据控件(如 DataGrid),因此除了手动排序然后逐个添加其他项目之外,真的没有干净的方法可以做到这一点。

    您需要将 Grid 视为 HTML Table 标记的 XAML 版本。

    编辑(OP 从 Grid 更改为 DataGrid,添加以下内容):

    内置对 DataGrid 排序的支持,用于对实现IList 接口的任何集合进行排序。如果您使用的是AutoGenerateColumns,那就是它。但这不是你想要做的。

    听起来您正在尝试以编程方式执行此操作。您需要做的是设置列的SortMemberPath。如果您手动创建列,它只是列上的一个属性。如果您使用自动生成,则可以在 AutoGeneratingColumn 事件中进行。

    如果您也在 XAML 中手动创建列,那么您也可以在 XAML 中通过设置列的属性来执行此操作。

    请记住,这些只是在 DataGrid 中进行排序的一般说明。对于您正在查询的更复杂的排序,您需要对您正在使用的数据源进行排序,即您将网格绑定到的集合。

    我不确定您所说的“首先是组名,然后是列”是什么意思。如果用户需要,您是否将组名作为默认排序,然后进行列排序?如果是这样,这些说明应该会有所帮助。如果不是,我不确定你的意思。

    【讨论】:

    • 我的错误是 DataGrid,而不是 Grid
    猜你喜欢
    • 1970-01-01
    • 2011-08-06
    • 2010-11-19
    • 2011-06-12
    • 1970-01-01
    • 2010-11-09
    • 2013-04-09
    • 2010-09-10
    • 2016-07-05
    相关资源
    最近更新 更多