1

我有一本书数据源。一本书有很多作者。该集合显示在 book-edit-view 的网格中。现在我想按作者姓名排序。在 collectionDatasource 属性中,我将 sortable 设置为 true。我该怎么做?

4

1 回答 1

7

如果我理解正确,您正在使用嵌套数据源绑定表和书籍作者,如下所示:

    <datasource id="bookDs"
                class="com.company.test.entity.Book"
                view="book-edit-view">
        <collectionDatasource id="authorsDs" property="authors"/>
    </datasource>

如果是这样,首先,确保 Book 实体具有有序类型(ListLinkedHashSet)的 Authors 属性集合。如果不是,您可以在 Studio 中更改集合类型或在 Book 实体中手动更改。

然后表格列变得可排序 - 当用户单击列标题表时,将对行进行相应的排序。此外,CUBA 平台会将排序设置保存为用户设置 - 因此下次用户打开屏幕表时将进行排序。

为了在默认情况下启用图书作者排序,您可以在 ORM 级别进行。在 Studio 打开实体 Book 中,单击 authors 属性并在属性属性面板中的Order by字段中设置值名称。这将确保 Book 实体的任何实例都具有按名称排序的作者。

于 2016-05-20T12:19:09.050 回答