Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Yii2-如何在网格视图中添加搜索框_Search_Gridview_Yii2 - Fatal编程技术网

Search Yii2-如何在网格视图中添加搜索框

Search Yii2-如何在网格视图中添加搜索框,search,gridview,yii2,Search,Gridview,Yii2,我是Yii-2的新手。 我的索引页中有一个网格视图,其中显示了一些条目 <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], //'meter_id', [

我是Yii-2的新手。 我的索引页中有一个网格视图,其中显示了一些条目

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        //'meter_id',

        [
            'label' => 'Meter MSN',
            'value' => function ($d) {
                return $d->meter->meter_msn;
            },
           // 'filter' => Html::activeDropDownList($searchModel, 'meter_id', \app\models\Meters::toArrayList(), ['prompt' => "All Meters", 'class' => 'form-control']),

        ],
        'imsi',
        'telecom',
        'status',
        [
            'label' => 'Created By',
            'value' => function ($data) {
                if (is_object($data))
                    return $data->created->name;
                return ' - ';
            },
            //'filter' => Html::activeDropDownList($searchModel, 'created_by', \app\models\User::toArrayList(), ['prompt' => "Created By", 'class' => 'form-control']),
        ],
        'comments',
        'historic',


        ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>
如何在其中放置搜索框?因为simple search类将默认设置搜索功能。但是我的
MSN
值来自一个函数,所以我不知道如何放置搜索框。
非常感谢您的帮助。

要在计算列中添加筛选器字段,您应该在 在您的搜索模型中

public function search($params)
{
    public $your_column;

   // declare as safe 
   public function rules()
   {
    return [
       ...
        [[  'your_column', ], 'safe'],

    ];
   }

   $query = MetersInventoryStore::find();
然后在grid_视图中引用您的_列

 ...
 'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    //'meter_id',

    [
        'attribute' => 'your_column',
        'label' => 'Meter MSN',
        'value' => function ($d) {
            return $d->meter->meter_msn;
        },
    ],
最后,在searchModel中,必须扩展筛选条件,以便根据传递的筛选值正确管理计算列


您可以在本教程中找到一些示例

用于在计算列中添加过滤器字段,您应该在其中添加pubblic变量 在您的搜索模型中

public function search($params)
{
    public $your_column;

   // declare as safe 
   public function rules()
   {
    return [
       ...
        [[  'your_column', ], 'safe'],

    ];
   }

   $query = MetersInventoryStore::find();
然后在grid_视图中引用您的_列

 ...
 'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    //'meter_id',

    [
        'attribute' => 'your_column',
        'label' => 'Meter MSN',
        'value' => function ($d) {
            return $d->meter->meter_msn;
        },
    ],
最后,在searchModel中,必须扩展筛选条件,以便根据传递的筛选值正确管理计算列


您可以在本教程中找到一些示例

如果您使用Gii创建CRUD,您可以使用_search.php表单创建搜索表单并开发搜索类。但我不知道这是不是你的案子。在表中的值中测量msn?如果是,您可以在db列中进行简单搜索如果您使用Gii创建CRUD,您可以使用_search.php表单创建搜索表单并开发搜索类。但我不知道这是不是你的案子。在表中的值中测量msn?如果是,您可以在db列中进行简单搜索