Pada artikel sebelumnya kita telah membahas mengenai Programming Multiple Checkbox pada PHP, dan kita mungkin bisa juga melakukan hal ini dalam framework Yii.

  1. Misal kita ingin membuat seperti di bawah ini:

    Pemrograman di atas adalah seperti berikut ini:
    ———————————————————————-
    <script>
    function cetak()
    {
        document.dataku.action=”index.php?r=prospecting/kota/cetak”;
        document.dataku.submit();
    }
    </script>
    <br/><br/>
    <form method=”POST” name=”dataku”>
    <input type=”button” value=”Cetak” onClick=cetak()>
    <?php $this->widget(‘zii.widgets.grid.CGridView’, array(
        ‘id’=>’kota-grid’,
        ‘dataProvider’=>$model->search(),
        ‘filter’=>$model,
        ‘columns’=>array(
            array(
            ‘header’=>”,
            ‘value’=>’CHtml::checkBox(“daftarku[]”,false,array(“value”=>$data->kota_id))’,
            ‘type’=>’raw’,
            ),
            array(
            ‘header’=>’ID’,
            ‘value’=>’$data->kota_id’,
            ),
            ‘nama’,
            ‘propinsi’,
    /*        array(
                ‘class’=>’CButtonColumn’,
            ),
    */
            ),
    )); ?>
    </form>
    ———————————————————————- 

    Pertama-tama kita tambahkan form:
    <form method=”POST” name=”dataku”>

    Kemudian kita membuat chekbox ke dalam input daftarku[] dan nilainya adalah kota_id dengan source code:
    ———————————————————————-
        ‘columns’=>array(
            array(
            ‘header’=>”,
            ‘value’=>’CHtml::checkBox(“daftarku[]”,false,array(“value”=>$data->kota_id))’,
            ‘type’=>’raw’,
            ),
    ———————————————————————-  

    Kemudian kita membuat button cetak dan pada saat diklik akan menjalankan fungsi cetak. Fungsi cetak itu sendiri adalah mengarahkan ke action yang sesuai dengan source code seperti berikut ini:
    ———————————————————————-
    <script>
    function cetak()
    {
        document.dataku.action=”index.php?r=prospecting/kota/cetak”;
        document.dataku.submit();
    }
    </script>
    ———————————————————————-
     

  2. Kemudian saat klik cetak maka tampilannya adalah :

    Coding pada KotaControllernya.php adalah:
    ———————————————————————-
        public function accessRules()
        {
            return array(
                array(‘allow’,  // allow all users to perform ‘index’ and ‘view’ actions
                    ‘actions’=>array(‘index’,’view’,’cetak’),
                    ‘users’=>array(‘*’),
                ),
    ———————————————————————-
    Coding di atas untuk memperbolehkan action cetak.

    Kemudian pada KotaController.php misalnya seperti berikut ini
    ———————————————————————-
        public function actionCetak()
        {
            echo “<strong>Hasil dari print_r:</strong>
            <pre>”;
            print_r($_POST[‘daftarku’]);
            echo “</pre>”;

            echo “<br/><br/><strong>Hasil dari for each:</strong><br/>”;

            $daftarku=$_POST[‘daftarku’];
            foreach ($daftarku as $nomor=>$nilai)
            {
                echo “<br/>Nomor $nomor isinya $nilai”;
            }
        }
    ———————————————————————-
    Contoh source di atas hanya menunjukkan bahwa nilai sudah masuk dengan baik.

Artikel terkait adalah:
1. http://www.proweb.co.id/articles/web_application/multiple_checbox.html .
2. http://www.proweb.co.id/articles/web_application/check_all_checkbox.html .

Informasi lebih lanjut silahkan mengunjungi :
1. http://www.yiiframework.com/forum/index.php/topic/7140-can-i-add-a-checkbox-on-per-row-in-the-cgridview/ .
2. http://www.yiiframework.com/doc/api/1.1/CGridView .
3. http://www.yiiframework.com/doc/api/1.1/CHtml#checkBox-detail

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Multiple checkbox CGridView Yii