0

我正在尝试将数据库中的产品显示到 devexpress phonejs 中的 tileview 项目中。成功地我可以将数据源中的项目加载到 tileview 中,但我想按类别名称对项目进行分组,并且真的不知道如何去做。任何帮助将不胜感激。

JS代码

return {
    sale: sale,
    departmansSource: {
        store: PosApplication.db.Departmans,
        select: ["DepartmanID", "DepartmanName"]
    },
    categoriesSource: {
        store: PosApplication.db.Categories,
        select: ["CategoryID", "CategoryName"]
    },
    productsSource: {
        store: PosApplication.db.Products,
        filter: ["DepartmanID","=", 2],
        select: ["ProductID", "ProductName", "DepartmanID", "DepartmanName", "CategoryID", "CategoryName"]
    },
    approversSource: {
        store: PosApplication.db.Approvers,
        select: ["ApproverId", "ApproverName"]
    },
    handleSave: handleSave,
    handleCancel: handleCancel,
    viewShown: handleViewShown,
    notifiy: notifiy
};

html代码

<div id="urunlertile" data-bind="dxTileView: { height: '550', dataSource: productsSource, itemClickAction: notifiy, baseItemHeight: 70, baseItemWidth: 150, itemMargin: 3,  }">
            <div data-options="dxTemplate:{name:'item'}">                    

                <p><span data-bind="text: $data.CategoryName"></span></p>
                <p><span data-bind="text: $data.ProductName"></span></p>
                </div>                           
            </div>
            </div>  
4

1 回答 1

0

您可以使用 postProcess 回调对数据源中的数据进行分组/排序。

请参阅带有示例的文档:http: //js.devexpress.com/Documentation/Howto/Data_Layer/Data_Layer?version= 14_1#Data_Layer_Data_Layer_Reading_Data_Data_Transformation_Post_Processing

请注意,dxTileView 不支持开箱即用地显示分组数据。将数据分组,例如

[{ key: "Category1", items: [{ name: "Product1" }, ...], ...] 

您可以将嵌套的 dxTileView 放在项目模板中以显示每个类别的产品。

于 2014-06-15T11:54:23.007 回答