我正在尝试使用“zii.widgets.grid.CGridView”在管理视图上实现过滤器。
正如标题所说,数据是通过查询检索的(一个相当复杂的查询,实际上它有 6 个左连接),并为小部件提供 CArrayDataProvider。
问题是小部件需要一个类来实现过滤器。有没有一种简单的方法来实现过滤器?我应该只为此目的创建一个类吗?
我尝试了这篇文章中的建议,但没有显示过滤器让我知道是否有效。
谢谢!
我正在尝试使用“zii.widgets.grid.CGridView”在管理视图上实现过滤器。
正如标题所说,数据是通过查询检索的(一个相当复杂的查询,实际上它有 6 个左连接),并为小部件提供 CArrayDataProvider。
问题是小部件需要一个类来实现过滤器。有没有一种简单的方法来实现过滤器?我应该只为此目的创建一个类吗?
我尝试了这篇文章中的建议,但没有显示过滤器让我知道是否有效。
谢谢!
我找到了关于这个问题的工作。
我最终做的是过滤器的 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 是具有“扩展模型”实例的数组。