在数据表中对具有额定属性的列进行排序

时间:2011-09-10 10:07:08

标签: jquery css datatables

我必须对数据表中的额定数据列进行排序。额定数据包含星级作为5的评级。数据正在正常运行但未进行排序。我在数据表中使用主题滚动css,并使用以下代码创建数据表。

$('#data_table').dataTable( {
            "aaData": dataSet ,
            "bSort":true,
            "aaSorting": [[0,'desc'],[0,'asc'],[2,'asc'],[2,'desc']],
            "iDisplayLength": 4,            
            "bInfo": true,
            "bLengthChange": false,
            "bJQueryUI": true,
            "bPaginate": true,
            "bAutoWidth": false,
            "sPaginationType": "full_numbers",
            "bAutoWidth": true,
            "aoColumns": [
                {   "sTitle": "Seller",
                    "sWidth": "155px",
                    "sClass": "grey" ,
                    "fnRender": function(obj) {
                        var data = obj.aData[ obj.iDataColumn ];
                        return "<a href='"+ data.url +"'>"+ data.title +"</a>";
                    }

                },
                {
                    "sTitle": "Seller rating",
                    "sClass": "center grey",
                    "sWidth": "100px",
                    "fnRender": function(obj) {
                        var sReturn = obj.aData[ obj.iDataColumn ];
                        var val = obj.aData[ obj.iDataColumn ];
                        if ( sReturn != "N/A") {

                            $('#fixed').raty({
                                    readOnly:  true,
                                    start:     val
                                });

                            sReturn = $('#fixed').html();
                            $('#fixed').html("");
                        }
                        return sReturn;
                    }
                })

我希望卖家评分栏是使用星号作为图片的评分栏。根据它的明星进行分类。

2 个答案:

答案 0 :(得分:0)

我认为你应该更改部分:

"aaSorting": [[0,'desc'],[0,'asc'],[2,'asc'],[2,'desc']],

"aaSorting": [[1,'desc']],

然后它将根据第二列的值对表进行排序,如果您可以从数据集中提供一些行,那么如果我的答案中缺少某些内容,我们可以更好地回答您的问题。

答案 1 :(得分:0)

bUseRendered(columns

对列使用fnRender()时,您可能希望使用原始数据(在渲染之前)进行排序和过滤......

修改

"aaSorting": [[0,'desc']],
"aoColumns": [
    { 
      "mDataProp": "timestamp",
      "fnRender": function ( oObj ) {
          return "do whatever you need...";
      }, 
      "bUseRendered": false
    },
    null
]