2017 © Pedro Peláez
 

yii2-extension yii2-grid

Extension grid view (yii2-grid-select)

image

ichsanmust/yii2-grid

Extension grid view (yii2-grid-select)

  • Thursday, July 5, 2018
  • by ichsanmust
  • Repository
  • 1 Watchers
  • 0 Stars
  • 5 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Grid Extensions (yii2-grid-select => Yii2 extension to keep selected rows in GridView when sorting and pagination.)

Extensions ini diperuntukan untuk kebutuhan select data multiple di grid view yii2 dengan memakai checkbox. permasalahan yang ada, jika kita memakai 'class' => 'yii\grid\CheckboxColumn' dari yii, ada kekurangan, dimana saat kita telah melakukan select data, dan kita melakukan searching, filtering, sorting, paging (pjax request), data selected yang sebelumnya menjadi hilang, dengan extension ini, dapat memperbaiki kekurangan tersebut. semoga bermanfaat..., (*1)

Installation

Disarankan Install melalui composer composer. jalan kan perintah, (*2)

php composer.phar require --prefer-dist ichsanmust/yii2-grid "@dev"

atau tambahkan, (*3)

"ichsanmust/yii2-grid": "@dev"

di require section file composer.json . lalu jalan kan composer update, (*4)

Install From the Archive

Download the latest release dari sini realeses., dan extract di project. di config aplikasi , tambakan aliases dan path untuk extension ini., (*5)

... return [, (*6)

'aliases' => [
    '@ichsanmust/grid' => 'path/to/your/extracted',
    // contoh: '@ichsanmust/grid' => '@app/extensions/ichsanmust/yii2-grid',

]

]; ..., (*7)

Contoh Penggunaan

// controller, (*8)

public function actionIndex()
    {
        $searchModel = new ProductSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
        ]);
    }

// view, (*9)

title = 'Products';
$this->params['breadcrumbs'][] = $this->title;
?>







'pjax-product-gridview',
        'enablePushState'=>false,
        'timeout'=>100000,
    ]); 
?>







= GridView::widget([
    'id'=>'crud-gridview-ichsanmust',
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],

        [   
                '_pjax' =>'pjax-product-gridview',
                'class' => 'ichsanmust\grid\CheckboxColumnSelectTools',  // class select nya memakai ini
                'name'=>'choose', // nama untuk checkbox
                'uniqueValue'=>'id_product', // value unique yang akan di select
                //'valueInit'=> array(3,2), // value data selected saat inisiasi gridview
                /*'valueInitSingle'=> function ($model, $key, $index, $column) { // value data selected per single data
                        if($model->STATUS == 3){ 
                            return true;
                        }else{
                            return false;
                        } 
                    },
                */
                //'disabledCheckboxOnValue' =>true, // saat valueInit ada datanya, checkbox yang ter select akan di disabled
                //'checkedCheckboxOnValue' => true, // saat valueInit ada datanya, checkbox yang ter select akan di checked
                    
                
        ],
        'id_product',
        'product_name',
        'id_product_category',
        'stok',
        
        ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>


registerJs(
       '
        $("#pjax-product-gridview").on("pjax:send", function() { // beforeSend
                $("#loader").show();
        })
        $("#pjax-product-gridview").on("pjax:complete", function() { // complete
            retainCheckedSingle(); // ini harus di deklarasikan 
            setCheckedChooseAll(); // ini harus di deklarasikan 
            $("#loader").hide();
        })
        '
    );
?>

<a id ="getSelected" class ="btn btn-success" > Get Selected Value </a>
<a id ="clearSelected" class ="btn btn-success" > clear Selected Value </a>
<a id ="addSelected" class ="btn btn-success" > add Selected 3 and 2 </a>

registerJs(
       '
        jQuery(document).on("click","#getSelected",function(e){
            console.log(getListChecked()); // ini yang di olah
            alert(getListChecked()); // ini yang di olah
            return false;
        });
        jQuery(document).on("click","#clearSelected",function(e){
            removeAll();
            return false;
        });
        jQuery(document).on("click","#addSelected",function(e){
            var arrayData =["3","2"];
            addSelected(arrayData);
            return false;
        });
        '
    );


?>


atau bisa seperti ini 

<a id="getSelectedonclick" onclick="getCheckboxData()" class="btn btn-main"> get data </a>







catatan

untuk yang bermasalah mengenai pjax yang tidak terdeteksi di Jquery Versi 3 ke atas, silahkan pake extensions ini pjax3

The Versions

05/07 2018

dev-master

9999999-dev

Extension grid view (yii2-grid-select)

  Sources   Download

Apache-2.0

The Requires

 

by Avatar ichsanmust

extension yii2 select gridview sel-gridview checkbox-gridview yii2-grid-select

03/07 2018

1.1.0

1.1.0.0

Extension grid view (yii2-grid-select)

  Sources   Download

Apache-2.0

The Requires

 

by Avatar ichsanmust

extension yii2 select gridview sel-gridview checkbox-gridview yii2-grid-select