我创建了一个数组并将其放在CActiveDataProvider中并渲染到CGridView。我在GridView中有自己的额外列。我无法对额外添加的列进行排序。如果我在CGridview中使用过滤器,则会显示错误,因为未定义额外列。我应该使用CArrayDataProvider还是CActiveDataProvider。请有人帮帮我。先谢谢你。
答案 0 :(得分:0)
数据提供程序的类型对CGridView行为有非(或不重要)影响。您决定使用何种类型,当您知道要用它们提供哪种数据时?
如果您使用ActiveRecord从数据库中检索数据,则使用CActiveDataProvider。如果要运行单个SQL查询,则使用CSqlDataProvider。最后,如果你有数组形式的数据集(从数据库中提取或不提取),你将使用CArrayDataProvider。
问题,为什么额外添加的列不用于排序和问题,哪个数据提供者使用的是两个不同的问题。
您能提供更多详情吗?您在额外列中添加了哪些数据?这些数据的来源是什么?您是否在要排序或搜索的其他列中包含此列?