如果没有过滤器,则Angular ng-table标头rowspan

时间:2016-09-19 07:34:23

标签: angularjs ngtable

如何为不可过滤的列添加rowspan到ng-table-dynamic标头?

enter image description here 此示例代码可在http://codepen.io/ike3/pen/wzzgzG

中找到

我想要的只是为年龄和金钱rowspan="2"设置th。我似乎可以为标题和过滤器创建自定义模板,但无法控制表结构本身。

1 个答案:

答案 0 :(得分:0)

我设法用jQuery做到这一点,但它看起来像一个黑客:

自定义过滤器模板:

<script type="text/ng-template" id="/filters/rowspan">
    <filter-row-span></filter-row-span>
</script>

和指令:

.directive('filterRowSpan', function() {
    return {
        link: function($scope, element, attrs) {
            var idx = $(element[0]).parents("th").index();
            var tbl = $(element[0]).parents(".table");
            for (var i = 0; i < idx; i++) {
                var rs = tbl.find("thead > tr:first-child th:nth-child(" + (1+i) + ")").attr("rowspan");
                if (rs) idx++;
            }
            tbl.find("thead > tr:nth-child(2) th:nth-child(" + (1+idx) + ")").remove();
            tbl.find("thead > tr:first-child th:nth-child(" + (1+idx) + ")").attr("rowspan", 2).addClass("no-filter");
        }
    };
})

也许有更好的方法。