为什么第二个网格渲染到第一个网格行,一旦我点击X以清除quicksearch? 我究竟做错了什么? 这是我的页面:
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();
}
}
}
提前致谢
答案 0 :(得分:0)
虽然我没有看到您的页面有任何问题,但它可能是对象/区域渲染问题。
对我来说,尽可能地,我尽量不要调用页面视图的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();
我希望这能解决你的对象渲染问题。