如何在yii中使用CgridView中的过滤器来实现排序和搜索

时间:2012-05-22 04:38:21

标签: yii

我创建了一个数组并将其放在CActiveDataProvider中并渲染到CGridView。我在GridView中有自己的额外列。我无法对额外添加的列进行排序。如果我在CGridview中使用过滤器,则会显示错误,因为未定义额外列。我应该使用CArrayDataProvider还是CActiveDataProvider。请有人帮帮我。先谢谢你。

1 个答案:

答案 0 :(得分:0)

数据提供程序的类型对CGridView行为有非(或不重要)影响。您决定使用何种类型,当您知道要用它们提供哪种数据时?

如果您使用ActiveRecord从数据库中检索数据,则使用CActiveDataProvider。如果要运行单个SQL查询,则使用CSqlDataProvider。最后,如果你有数组形式的数据集(从数据库中提取或不提取),你将使用CArrayDataProvider。

问题,为什么额外添加的列不用于排序和问题,哪个数据提供者使用的是两个不同的问题。

您能提供更多详情吗?您在额外列中添加了哪些数据?这些数据的来源是什么?您是否在要排序或搜索的其他列中包含此列?