简体   繁体   English

排序问题:带有分页器的 YUI3 数据表

[英]Sorting Issue: YUI3 Datatable with Paginator

I have created YUI3 Datatable with Pagination (used gallery module: gallery-datatable-paginator).我已经创建了带有分页的 YUI3 数据表(使用的画廊模块:gallery-datatable-paginator)。

    var withColumnLabels = new Y.DataTable({
        columns: columnDef,
        data   : data,
        summary: "Price sheet for inventory parts",
        caption: "These columns have labels and abbrs",
        sortBy: {"mfr_parts_database_name":"desc"},
        paginator: new Y.PaginatorView({
           model:      new Y.PaginatorModel({itemsPerPage:2}),
           container:  '#labelsPaginatorTemplate'
        })

    }).render('#labels');

Demo: http://jsfiddle.net/mail2asik/MqwyU/5/演示: http : //jsfiddle.net/mail2asik/MqwyU/5/

In the above URL, sorting is enabled by default in second column.在上面的 URL 中,在第二列中默认启用排序。 After render data table, If I am going to sort first column, the second column sorting icon not change as default indicator.渲染数据表后,如果我要对第一列进行排序,则第二列排序图标不会更改为默认指示符。 Please anyone suggest me to fix the same.请任何人建议我修复相同的问题。

It is working fine if I am not use gallery-datatable-paginator.如果我不使用gallery-datatable-paginator,它工作正常。

    var withColumnLabels = new Y.DataTable({
        columns: columnDef,
        data   : data,
        summary: "Price sheet for inventory parts",
        caption: "These columns have labels and abbrs",
        sortBy: {"mfr_parts_database_name":"desc"}
    }).render('#labels');

Demo : http://jsfiddle.net/mail2asik/r3Cbu/6/演示: http : //jsfiddle.net/mail2asik/r3Cbu/6/

I have fixed the issue using "pageUpdate" event but it is not perfect solutions because it should be fixed in core level.我已经使用“pageUpdate”事件修复了这个问题,但它不是完美的解决方案,因为它应该在核心级别修复。

    //pageupdate event
    withColumnLabels.on('pageUpdate', function (e) {
        var sortBy = this.get('sortBy');
        if(sortBy){
            Y.all(".yui3-datatable-table thead>tr>th").removeClass('yui3-datatable-sorted').removeClass('yui3-datatable-sorted-desc');    
            var sortObj = sortBy[0],
            sortKey = Y.Object.keys(sortObj)[0],
            key=sortObj[sortKey];           
            if(key=="1"){
                Y.one(".yui3-datatable-table .yui3-datatable-col-"+sortKey).addClass("yui3-datatable-sorted");
            }else{      
                Y.one(".yui3-datatable-table .yui3-datatable-col-"+sortKey).addClass("yui3-datatable-sorted").addClass("yui3-datatable-sorted-desc");
            }
        }
    });

http://jsfiddle.net/MqwyU/7/ http://jsfiddle.net/MqwyU/7/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM