На странице есть CGridView (условно родитель). Ajax-ом выполняю renderPartial другого CGridView (усл. потомок). В потомке в ПЕРВОЙ строке CButtonColumn не работает кнопка (одна из кнопок).
С CGridView дела не имел, но навскидку предположу, что там где-нибудь кроется классический yii-шный кусок по регистрации js-кода, которому некуда подоткнуться при ajax-овом renderPartial.
На странице помимо грида есть форма поиска. На ней размещена кнопка submitButton. YII проименовал "активные" элементы на странице по типу id="yt#" (кнопка поиска и ячейки CbuttonColumn).
Так вот, ячейки в родитедьском гриде начали свою нумерацию с "yt1", а в дочернем с "yt0". У меня не срабатывала ячейка с id="yt0".
Выходит события всплывающего окошка обрабатывает код на основной странице (наверно).
Даю 90% что вы 2 раза регистрируете скрипты или не регистрируете их для попапа, из-за этого и проблемы.
Если я верно помню то эти автоматические ид это просто нумерация, а в $.fn.yiigridview например подставляется ид самого грида(тоесть тот что указан в свойстве ‘id’=>’’). То что вы написали в виде решения относится к вопросу как мелкое к мягкому.
Старайтесь указывать id элементам, избегайте двойной подгрузки скриптов, если нужно - после аякса регистрируйте стандартные обьекты (тотже yiigridview).
Что значит генерирование логики наперед? Yii инициализирует js-обьекты при подгрузке скриптов (init status если не ошибаюсь), эти js-обьекты отвечают за все действия, тоесть для gridview это сортировки,фильтры,обновление грида и т.п. При заполнении фильтра например в GET передается аттрибут->значение фильтра, search() возвращает dataProvider, и происходит перестроение gridview и $.fn.yiigridview.update().
Вот как-то так. Надеюсь Вам станет немного понятнее принцип работы yii.Я лично, как человек довольно плохо владеющий js, досихпор пытаюсь вникнуть в суть этих процессов.
Корень зла при выполнении ajax запросов, именно в этом была проблема, кроется в одинаковых id элементов на странице и попапе, а именно многочисленный вызов или не срабатывание на события.