如何在 Yii 1.1 CGridView 上对通过连接查询检索到的数据实施过滤器
How to implement a filter on Yii 1.1 CGridView on data retrieved with join query
我正在尝试使用 'zii.widgets.grid.CGridView' 在管理视图上实施过滤器。
正如标题所说,数据是通过查询检索的(一个相当复杂的查询,它实际上有 6 个左连接),并为小部件提供了一个 CArrayDataProvider。
问题是小部件需要 class 来实现过滤器。有没有简单的方法来实现过滤器?我应该为此目的创建一个 class 吗?
我尝试了 this post 中建议的内容,但没有显示过滤器让我知道是否有效。
谢谢!
我找到了解决这个问题的方法。
我最终得到的是过滤器的 javascript/jquery 实现,使用 datatables package。
<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 是包含“扩展模型”实例的数组。
我正在尝试使用 'zii.widgets.grid.CGridView' 在管理视图上实施过滤器。
正如标题所说,数据是通过查询检索的(一个相当复杂的查询,它实际上有 6 个左连接),并为小部件提供了一个 CArrayDataProvider。
问题是小部件需要 class 来实现过滤器。有没有简单的方法来实现过滤器?我应该为此目的创建一个 class 吗?
我尝试了 this post 中建议的内容,但没有显示过滤器让我知道是否有效。
谢谢!
我找到了解决这个问题的方法。
我最终得到的是过滤器的 javascript/jquery 实现,使用 datatables package。
<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 是包含“扩展模型”实例的数组。