この記事では主にyii Gridviewの期間フィルタリング機能、入力ボックス、自動送信機能などを詳しく紹介しますので、興味のある方は参考にしてください
yii GridViewは強力な機能を持っていますが、時間フィルタリングが面倒です。そして、それはデータベースの保存形式に関連しています
そして、問題は、Yii は時間に関するテキスト検索形式しか提供していない、つまり、2017 のような正確な日付しか見つけることができないということです。 8-10。 Almighty のお客様は、これではうまくいかない、期間を検索したいと言いました。入力ボックスが欲しいだけです!自動で提出したい!
注意点:
1. まず、関連する js を Gridview に導入して、二重日付を実装します。ここでは、シンプルで寛大な jquery.daterangepicker.js を選択しました (欠点: 年は選択できません)。手動でクリックする必要があります。私はここにいます。何年にもわたっては使用できません)
2. 検索モデルでデータを処理し、時間クエリを実行する必要があります
3. 日付を選択した後、入力ボックスにはカーソルがありません。データを更新するには、2 回クリックして Enter キーを押す必要があります。これは、元のグリッドビューのエクスペリエンスとはまったく異なります
4. 入力日付データを検出した後、jq を使用してキャリッジ リターンをシミュレートします。オリジナルの GridView のようなエクスペリエンスを完璧に実現する送信アクションです。 スムーズな
in view
<?php //use yii\web\View; use kartik\grid\GridView; use yii\bootstrap\Html; use common\helps\ArrayHelper; use yii\helpers\Url; //引入时间段js,这里使用了jquery.daterangepicker.js $this->registerCssFile('/plugins/datep/css/daterangepicker.css'); $this->registerJsFile('/plugins/datep/js/moment.min.js'); $this->registerJsFile('/plugins/datep/js/jquery.daterangepicker.js'); $this->registerJsFile('/plugins/datep/js/demo.js'); ?> <body class="gray-bg"> <p class="wrapper wrapper-content animated fadeInRight"> <p class="row"> <p class="col-sm-12"> <p class="ibox float-e-margins"> <?= backend\widgets\TitleBack::widget(['title'=>'记录管理']) ?> <p class="ibox-content"> <?php echo GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], ['class' => 'yii\grid\CheckboxColumn'], 'title', [ 'label'=>'下发时间', 'attribute'=>'issued', 'value' => function ($data) { return ArrayHelper::get_date_time($data->issued); }, ], ] ]); ?> </p> </p> </p> </p> </p> </p> </p> </body>
demo.js が最後に置かれます。まず、PatentDataBdSearch について説明します。これは、入力ボックスから送信されたデータを処理し、データベースにクエリを実行します。期間中、
//时间段筛选 if($this->issued){ $time= explode('~', $this->issued); $query->andFilterWhere(['between', 'patent_data.issued', $time[0],$time[1]]); }
demo.js はデータ検出を実装し、キャリッジ リターン操作をシミュレートします。
Yii はモデルにデフォルト値を追加するメソッドを実装します
。
以上がYii GridView は期間フィルタリング機能を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。