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

如何在yii中使用CgridView中的过滤器实现排序和搜索,yii,Yii,我已经创建了一个数组,并将其放入CActiveDataProvider中,然后渲染到CGridView。我在GridView中有自己的额外列。我无法对额外添加的列进行排序。如果我在CGridview中使用过滤器,它会显示错误,因为没有定义额外的列。我应该使用CArrayDataProvider还是CActiveDataProvider。请任何人帮帮我。提前感谢。数据提供程序的类型对CGridView行为没有(或不重要)影响。当您知道将向其提供什么样的数据时,您决定使用哪种类型的数据 若您使用Ac

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

数据提供程序的类型对CGridView行为没有(或不重要)影响。当您知道将向其提供什么样的数据时,您决定使用哪种类型的数据

若您使用ActiveRecord从数据库检索数据,那个么就使用CActiveDataProvider。如果要运行单个SQL查询,则使用CSqlDataProvider。最后,如果您有数组形式的数据集(无论是否从数据库中提取),您将使用CArrayDataProvider

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

你能提供更多细节吗?你把什么样的数据放在你的额外栏中?这些数据的来源是什么?是否将此列包括在要排序或搜索的其他列中