0

我正在尝试使用“zii.widgets.grid.CGridView”在管理视图上实现过滤器。

正如标题所说,数据是通过查询检索的(一个相当复杂的查询,实际上它有 6 个左连接),并为小部件提供 CArrayDataProvider。

问题是小部件需要一个类来实现过滤器。有没有一种简单的方法来实现过滤器?我应该只为此目的创建一个类吗?

我尝试了这篇文章中的建议,但没有显示过滤器让我知道是否有效。

谢谢!

4

1 回答 1

0

我找到了关于这个问题的工作。

我最终做的是过滤器的 javascript/jquery 实现,使用datatables 包

<table class="table table-striped table-hover" id="extendedTable">
    <thead>
    <tr>
        <th>a_name</th>
        <th>b_name</th>
        <th>c_name</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach ($myData as $data) { ?>
        <tr>
            <th><?php echo $data["a_name"]; ?></th>
            <th><?php echo $data["b_name"]; ?></th>
            <th><?php echo $data["c_name"]; ?></th>$data["g_id"]); ?></th>
        </tr>
    <?php
    } ?>
    </tbody>
</table>

<script>
    $(document).ready(function() {
        $('#extendedTable').DataTable(
            {
                dom: '<"clear">lfrtip',
                "paging": true,
                "ordering": true
            }
        );
    });
</script>

其中 a、b 和 c 是某些表的别名,$myData 是具有“扩展模型”实例的数组。

于 2020-09-28T14:09:26.353 回答