himiklab / yii2-gridview-ajaxed-widget
改进的 Yii2 GridView 小部件,支持 Ajax、pjax 和模态框(Bootstrap)
1.0.4
2022-01-12 15:13 UTC
Requires
This package is auto-updated.
Last update: 2024-09-12 21:08:31 UTC
README
改进的 Yii2 GridView 小部件,支持 Ajax、pjax 和模态框(Bootstrap)。
安装
安装此扩展的首选方法是通过 composer。
- 运行以下命令之一:
php composer.phar require --prefer-dist "himiklab/yii2-gridview-ajaxed-widget" "*"
或者
"himiklab/yii2-gridview-ajaxed-widget" : "*"
将以下内容添加到您的应用程序的 composer.json
文件的 require 部分。
使用方法
// index.php use himiklab\yii2\ajaxedgrid\GridView; GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ 'title', 'author', 'language', 'visible:boolean', ], 'jsErrorCallback' => 'function(jqXHR, textStatus) {console.log(jqXHR, textStatus, errorThrown)}', ]);
// _form.php <?php $form = ActiveForm::begin(['id' => 'test-form']); ?> <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'author')->textInput(['maxlength' => true]) ?> <?= $form->field($model, 'language')->dropDownList($model::getAllLanguages()) ?> <?= $form->field($model, 'visible')->checkbox() ?> <div class="form-group"> <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?> </div> <?php ActiveForm::end(); ?>
// controller public function actionIndex() { $dataProvider = new ActiveDataProvider([ 'query' => Page::find(), ]); return $this->render('index', [ 'dataProvider' => $dataProvider, ]); } public function actionCreate() { $model = new Page(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return null; } return $this->renderAjax('_form', [ 'model' => $model, ]); } public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { return null; //return '#reload'; //return '#alert OK!'; //return '#redirect /'; //return '#file document.txt ' . \base64_encode('document content'); } return $this->renderAjax('_form', [ 'model' => $model, ]); } public function actionDelete($id) { $this->findModel($id)->delete(); } protected function findModel($id) { if (($model = Page::findOne($id)) === null) { throw new NotFoundHttpException('Page not found.'); } return $model; }
就这么简单!