0

codeigniter で flexigrid ライブラリを使用するとデータグリッドをうまく表示できますが、関数の並べ替えと検索を使用すると、以前のように実行できません。何も変わらず、最初のページをロードするだけです。問題は検索とソートにあり、ページング機能は問題ありません。

私のコードに何か問題があり、助けが必要なのかもしれません。ありがとう。

//Controller
public function daftarKomoditi()
{
    $colModel['dig10'] = array('Kode Komoditi KBKI',120,TRUE,'left',2);
    $colModel['desk10'] = array('Jenis Komoditi',453,TRUE,'left',2);

    $gridParams = array(
        'width' => '600',
        'height' => 'auto',
        'rp' => 10,
        'singleSelect' => true,
        'rpOptions' => '[10,15,20,25,40]',
        'pagestat' => 'Displaying: {from} to {to} of {total} items.',
        'blockOpacity' => 0.5,
        'title' => 'Master Komoditi SHPB 2013',
        'showTableToggleBtn' => false
    );

    $buttons[] = array('Refresh','refresh','test');
    $buttons[] = array('separator');

    $grid_js = build_grid_js('flex2',site_url("/ajax/getKomoditiList"),$colModel,'id','asc',$gridParams,$buttons);

    $data['js_grid'] = $grid_js;  

    $this->load->view('kualitas/komoditi_list',$data);
}

public function getKomoditiList()
{  
    $valid_fields = array('dig10,desk10');
    $this->flexigrid->validate_post('dig10','asc',$valid_fields);

    $records = $this->KualitasModel->getDaftarKomoditi();
    $this->output->set_header($this->config->item('json_header'));

    foreach ($records['records']->result() as $row) {   
        $record_items[] = array($row->dig10,
        $row->dig10,  
        ucfirst(strtolower($row->desk10)),
        );
    }

    $this->output->set_output($this->flexigrid->json_build($records['record_count'],$record_items));        
}

//Model
    function getDaftarKomoditi() //Flexigrid
{
    $table_name = "shpb_mkbki_dig10";

    $this->db->select('*')->from($table_name);
    $this->CI->flexigrid->build_query();

    //Get contents
    $return['records'] = $this->db->get();

    //Build count query
    $this->db->select('count(dig10) as record_count')->from($table_name);
    $this->CI->flexigrid->build_query(FALSE);
    $record_count = $this->db->get();
    $row = $record_count->row();

    //Get Record Count
    $return['record_count'] = $row->record_count;

    //Return all
    return $return;                                        

}
4

1 に答える 1