Почему сетка отображается в другой строке сетки?

Почему вторая сетка отображается в первой строке сетки, когда я нажимаю X, чтобы очистить быстрый поиск? Что я делаю неправильно? Это моя страница:

class page_alumnos_equipo extends Page {
function init(){
    parent::init();



    $this->api->stickyGET('id');

    $mAlumno=$this->add('Model_Alumno')->loadData($_GET['id']);       
    $h=$this->add('H1')->set($mAlumno->get('name').' ( '.$mAlumno->get('grado').$mAlumno->get('nivel'). ' )');

    $this->add('H2')->set('Equipos actuales');
    $ins=$this->add('MVCGrid');
    $ins->setModel('Equipo',array('clase'));
    $ins->dq->where('alumno_id',$_GET['id']);

    $this->add('H2')->set('Agregar a Nuevo Equipo');
    $g=$this->add('MVCGrid');
    $g->setModel('Clase');
    $g->getColumn('name')->makeSortable();
    $g->dq->order('dia_id');
    $g->dq->order('hora');
    $g->dq->order('grado_id');
    $qs=$g->addQuickSearch(array('name','grado','dia','hora','asesor'));      

    if($qs->recall('q')==''){
      $qs->memorize('q',$mAlumno->get('grado'));
    }

    $f=$this->add('Form');
    $f->addField('line','selected');
    $g->addSelectable($f->getElement('selected'));

    $f->addSubmit();        
    if ($f->isSubmitted()){
        $selected=json_decode($f->get('selected'));

        foreach($selected as $sel){

            $this->api->db->dsql()->table('equipo')
                ->set('alumno_id',$_GET['id'])
                ->set('clase_id',$sel)
                ->do_insert();
        }
        $this->js()
                ->univ()
                ->closeDialog()
                ->successMessage('Se asignó equipo a: '.$mAlumno->get('name'))
                ->execute();
    }
 }
}

заранее спасибо


person mcanedo    schedule 25.02.2012    source источник
comment
просто предложение, но добавьте второй аргумент для добавления ('MVCGrid', xxx) с некоторым уникальным идентификатором. Без пробелов, [a-z]   -  person romaninsh    schedule 26.02.2012


Ответы (1)


хотя я не вижу никаких проблем с вашей страницей, это может быть проблема с отображением объекта/региона.

для меня, насколько это возможно, я стараюсь не вызывать univ или jquery javascript представления страницы, а только представления конкретного объекта. поэтому вместо этого:

 $this->js()
    ->univ()
    ->closeDialog()
    ->successMessage('Se asignó equipo a: '.$mAlumno->get('name'))
    ->execute();

сделайте вызов javascript специфичным для объекта, изменив его на:

 $f->js()
    ->univ()
    ->closeDialog()
    ->successMessage('Se asignó equipo a: '.$mAlumno->get('name'))
    ->execute();

Я надеюсь, что это решит вашу проблему с рендерингом объектов.

person Open Technologist    schedule 26.02.2012