Вы же в eval() пихаете обьект вместо строки. $this в этом случае мы не можем ипсользовать так как вы хотите ($this у нас относится к гриду), $this->grid вернет обьект собственника грида, $this->grid->controller - контроллер родитель action в котором мы находимся. Как я и писал выше с виджетами нужно общаться через контроллер.
Точно также делается например $this->grid->controller->createUrl().
Кстати через анонимную функцию у меня виджеты напрочь отказывались работать, eval() ругался постоянно. Может чего не так делал, но так работает 100%.
А как собственно сделать 1 вызов datepickera?
Насколько я понимаю нужно сделать класс колонке, потом обьвить datepicker на этот класс в $(document).ready() например, в итоге мы ведь получим такое же количество datepicker-ов.
Возникнут проблемы, в ajaxUpdate() нужно будет перевешивать datepicker (например при пагинации), что делать с дефолтными значениями?(нужно будет делать $.each() по классу и вытаскивать значения например id строки и вносит в defaultValue).
Или я снова что то неправильно понимаю, или так не совсем проще.
П.С. делал так с некоторыми другими js плагинами, все работает но насчет простоты я не уверен.