2012-08-03 117 views
1

嗨,我使用的是数据,并使用异步XHR调用对表进行了laoding。我愿意做this,但由于我使用xhr调用表,我的fnCreateSelect函数说由于没有表数据,所以参数未定义。有没有办法在fnInitComplete中调用fnDrawCAllback,反之亦然?在数据表中使用fnInitComplete函数中的fnDrawCallback

任何关于如何做到这一点的建议将不胜感激。

一些代码:这是我的fnInitcomplete函数我也使用固定列,如果有帮助。

"fnInitComplete": function() { 
       $("thead th").each(function (i) { 
        this.innerHTML += "<div class='DataTables_sort_wrapper'><span class='css_right ui-icon ui-icon-carat-2-n-s'></span></div><br/>"+fnCreateSelect(fleetT.fnGetColumnData(i)); 
        $("thead select").each(function (i) { 
         this.visibleIndex = i; 
        }); 
        $('select', this).change(function() { 
        var visIndex = typeof this.visibleIndex == 'undefined' ? 1 : this.visibleIndex; 
        fleetT.fnFilter($(this).val(), visIndex); 
       }); 
      }); 
      new FixedColumns(fleetT, { 
     "iLeftColumns": 2, 
     "iLeftWidth": 220 
    }); 

回答

0

你正在尝试做的效果很好,当所有数据已经​​在客户端上,因为它可以得到不同的值,以创建一个选择。但是,如果您执行服务器端分页,则客户端只有一小部分数据集,因此无法获得完整数据集的不同值,但仅适用于此时管理的10/25行。 我的建议很简单,就是创建选择服务器端(通过对数据库进行正常的DISTINCT查询),然后像正常一样渲染它们。