Narzędzia użytkownika

Narzędzia witryny


kartik_gridview

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
kartik_gridview [2022/08/27 20:41] – utworzono - edycja zewnętrzna 127.0.0.1kartik_gridview [2024/09/15 16:22] (aktualna) – edycja zewnętrzna 127.0.0.1
Linia 41: Linia 41:
 </code> </code>
  
 +===== Przesyłanie parametrów fitrowania metodą POST =====
 +Controller
 +<code php>
 +  $dataProvider = $searchModel->search(Yii::$app->request->post());
 +</code>
 +Widok
 +<code php>
 +<?php
 +    Pjax::begin(['id' => 'some-id-you-like',
 +        'timeout' => false,
 +        'enablePushState' => false,
 +        'clientOptions' => ['method' => 'POST']]);
 +?>
 +    <?=
 +      GridView::widget([
 +          ...
 +      ])
 +    ?>
 +<?php Pjax::end() ?>   
 +</code>
  
 ===== ExpandRowColumn  ===== ===== ExpandRowColumn  =====
Linia 55: Linia 75:
 </code> </code>
  
-===== Własna kolumna akcji ===== +
-==== Przycisk delete ==== +
-Własna kolumna akcji z przyciskiem delete.\\ +
-Jeżeli dany element jest używany relacyjnie w innych tabelach z regułą RESTRICT, przycisk delete nie pojawia się.\\ +
-Patrz: [[baza_danych#sprawdzenie_czy_rekord_mozna_usunac|Sprawdzanie czy relacje pozwalają na usunięcie]]\\ +
-Ze względów bezpieczeństwa parametr id przekazywany jest do akcji delete metodą post.\\ +
-Operacja wymaga potwierdzenia.\\ +
-Patrz: [[alert#okno_informacji_potwierdzenia|Potwierdzanie usunięcia]] +
-<code php> +
-['attribute' => 'akcje', +
- 'format' => 'raw', +
- 'label'=>false, +
- 'headerOptions' => ['style' => 'width:5%'], +
- 'value' => function($model) { +
-    if (Pomocnik::checkDelete('tytuly', $model->id)) { +
-       return Html::a('<i class="far fa-trash-alt"></i>',  +
-                     ['tytuly/delete', 'id' => $model->id],  +
-                     ['class' => 'btn btn-outline-danger btn-sm', +
-                       'title' => 'Usuń tytuł', +
-                       'data' => [ +
-                                 'method' => 'post', +
-                                  params' => ['id' => $model->id] +
-                                   ], +
-                      'data-confirm' => 'Na pewno usunąć tytuł: <b>'+
-                                        $model->nazwa . +
-                                        '</b>? <br> (Operacja nieodwracalna !)' +
-                     ]); +
-     } else { +
-        return ''; +
-     } +
-    } +
- ], +
-</code>+
 ===== Expand column ===== ===== Expand column =====
 <code php> <code php>
 [ [
         'class' => '\kartik\grid\ExpandRowColumn',         'class' => '\kartik\grid\ExpandRowColumn',
-        'expandIcon' => '<small><i class="far fa-plus-square text-muted"></i></small>', +        'expandIcon' => '<small><i class="fas fa-chevron-down text-muted"></i></small>', 
-        'collapseIcon' => '<small><i class="far fa-minus-square text-muted"></i></small>',+        'collapseIcon' => '<small><i class="fas fa-chevron-up text-muted"></i></small>',
         'value' => function ($model, $key, $index, $column) {         'value' => function ($model, $key, $index, $column) {
             $session = Yii::$app->session;             $session = Yii::$app->session;
Linia 195: Linia 183:
 <code> <code>
 ->andFilterWhere(['like', 'nazwisko', $this->nazwisko.'%',false]) ->andFilterWhere(['like', 'nazwisko', $this->nazwisko.'%',false])
 +</code>
 +
 +===== Własna kolumna akcji =====
 +==== Przycisk delete ====
 +Własna kolumna akcji z przyciskiem delete.\\
 +Jeżeli dany element jest używany relacyjnie w innych tabelach z regułą RESTRICT, przycisk delete nie pojawia się.\\
 +Patrz: [[baza_danych#sprawdzenie_czy_rekord_mozna_usunac|Sprawdzanie czy relacje pozwalają na usunięcie]]\\
 +Ze względów bezpieczeństwa parametr id przekazywany jest do akcji delete metodą post.\\
 +Operacja wymaga potwierdzenia.\\
 +Patrz: [[alert#okno_informacji_potwierdzenia|Potwierdzanie usunięcia]]
 +<code php>
 +['attribute' => 'akcje',
 + 'format' => 'raw',
 + 'label'=>false,
 + 'headerOptions' => ['style' => 'width:5%'],
 + 'value' => function($model) {
 +    if (Pomocnik::checkDelete('tytuly', $model->id)) {
 +       return Html::a('<i class="far fa-trash-alt"></i>', 
 +                     ['tytuly/delete', 'id' => $model->id], 
 +                     ['class' => 'btn btn-outline-danger btn-sm',
 +                       'title' => 'Usuń tytuł',
 +                       'data' => [
 +                                 'method' => 'post',
 +                                  params' => ['id' => $model->id]
 +                                   ],
 +                      'data-confirm' => 'Na pewno usunąć tytuł: <b>' .
 +                                        $model->nazwa .
 +                                        '</b>? <br> (Operacja nieodwracalna !)'
 +                     ]);
 +     } else {
 +        return '';
 +     }
 +    }
 + ],
 </code> </code>
  
  
kartik_gridview.1661625704.txt.gz · ostatnio zmienione: 2024/09/15 16:22 (edycja zewnętrzna)