If you want to edit data directly in the gridview in a 'dropdownlist' style, then you could use the 'type' => 'select' option of TbEditableColumn (YiiBooster) or EditableColumn (x-editable for Yii). This wiki shows how to get data from the db for the 'dropdownlist', by converting AR model data into an array that is passed in json format.
The CGridView widget is very useful and customizable, but sometimes you need a little more.
One limit I found is to have only one row for headers; yes, you can write each column header in more than one row, but just inside the single cell.
I was looking instead for the possibility to use more than one row, with different structure one from the others.
This way you can write columns grouping headers, and obtain a nicer view.
I needed to use a class from ZF2 in my Yii project.
I've read probably all there is about this subject and still I needed lots of trial & errors to get it working, probably due to my lack of experience working with namepsaces and ZF2 in general. Also, the resources on the web are all partial, at best. Most simply refer to ZF1 where things are technically different. When I got it all working I decided to record my findings and that's how this article was born. The below recipe is what worked for me, accompanied by relevant comments.
References: This article is partially based on this guide page. Be sure also to consult Zend Framework 2 documentation.
The Yii Framework provides a sweet functionality that allows you to easily create page specific menus.
What does this mean?
This allows you to create one layout or CSS styling for your menu, and when each page is loaded, a new set of menu items is loaded in. This is useful for context specific sidebars within your application.