2012-02-25 16 views
0

クイック検索をクリアするためにXをクリックすると、2番目のグリッドが最初のグリッド行にレンダリングされるのはなぜですか? 私は何が間違っていますか? これは私のページです:私はあなたのページに問題が表示されませんが、事前グリッドが他のグリッド行にレンダリングされるのはなぜですか?

+0

ちょっとした提案ですが、いくつかの一意の識別子を付けて(MVCGrid '、xxx)addに2番目の引数を追加してください。スペースなし、[a-z] – romaninsh

答えて

0

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(); 
    } 
} 
} 

おかげで、それは、オブジェクト/地域レンダリングの問題である可能性があります。

可能な限り、私はページのビューの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(); 

私はこの問題をレンダリングあなたのオブジェクトを解決したいと考えています。

関連する問題