Php 如何在yii2 katrik gridview中使用屏蔽输入或dropdownlist?

Php 如何在yii2 katrik gridview中使用屏蔽输入或dropdownlist?,php,yii2,Php,Yii2,我有这样一个屏蔽输入: <?= $form->field($model, 'ip')->widget(\yii\widgets\MaskedInput::className(),[ 'clientOptions' => [ 'alias' =>

我有这样一个屏蔽输入:

    <?= $form->field($model, 'ip')->widget(\yii\widgets\MaskedInput::className(),[
                                                    'clientOptions' => [
                                                        'alias' => 'ip',
                                                        'groupSeparator' => '.',
                                                        'autoGroup' => true,
                                                    ],
                                                ]);
                                             ?>

我的索引文件中有一个带可编辑字段(ip)的kartik gridview:

<?=    GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'pjax' => true,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        [
            'class' => 'kartik\grid\EditableColumn',
            'attribute' => 'ip',
        ],    
        'objectID',
        'ownerID',
        'subnetID',

        ['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>

当用户在gridview中更新ip字段时,如何设置屏蔽输入?
还有,我应该如何使用dropdownlist来更新字段?

您可以在“过滤器”上下文中使用MaskedInput小部件

否则,作为行字段,您可以通过匿名函数传递MaskedInput小部件:

<?=    GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pjax' => true,
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    [
        'attribute' => 'ip',
        'value' => function($model) {
             return MaskedInput::widget([
                'name'          => 'ip_' . $model->id,
                'value'         => $model->ip,

                'clientOptions' => [
                     'alias' => 'ip',
                ],
            ])
        },
    ],    
    'objectID',
    'ownerID',
    'subnetID',
    ['class' => 'yii\grid\ActionColumn'],
],


InputMask与Yii2集成,高度可配置。Se和用于提示和技巧。

对于屏蔽输入,请使用
'mask'=>'9[9][9].9[9][9].9[9][9].9[9][9]'
属性。我们无法在katrik gridview中设置'mask'属性!!!设置未知属性:kartik\grid\EditableColumn::maskwell,您的问题似乎有所不同。。
<?=    GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pjax' => true,
'columns' => [
    ['class' => 'yii\grid\SerialColumn'],
    [
        'attribute' => 'ip',
        'value' => function($model) {
             return MaskedInput::widget([
                'name'          => 'ip_' . $model->id,
                'value'         => $model->ip,

                'clientOptions' => [
                     'alias' => 'ip',
                ],
            ])
        },
    ],    
    'objectID',
    'ownerID',
    'subnetID',
    ['class' => 'yii\grid\ActionColumn'],
],