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.
You have that, when a product is on development they can change its API anytime. This change is quite important though, its related on how to set the events of your form, for example, the useful beforeSubmit.
Lots of people are asking how to solve it with YII,We think its difficult with YII. But its easy to solve . There is no database triggers needed . we can simply sove it by extending a class(say "RActiveRecord") from CActiveRecord .Then extend all our model classes from that class.
Some of you have experienced the need to log some information while doing unit testing, due to the fact that the information given in the summary is just not enough, to know why the test is actually failing. this article focuses on 2 ways to get you logs up and running again.