1

嗨,我正在使用数据表,并且正在使用异步 XHR 调用来加载表。我会这样做但由于我使用 xhr 调用表,我的 fnCreateSelect 函数说参数是未定义的,因为还没有表数据。有没有办法在 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
    } );
4

1 回答 1

0

当所有数据都已经在客户端上时,您尝试做的事情会很好,因为它可以获得不同的值来创建选择。但是,如果您进行服务器端分页,客户端只有一小部分数据集,因此您无法获得完整数据集的不同值,而只能获得您目前管理的 10 / 25 行。我的建议只是您创建选择服务器端(通过对 db 进行正常的 DISTINCT 查询),然后正常呈现它们。

于 2012-08-03T16:39:31.367 回答