【问题标题】:Adding string filter and sorting to datacolumn gridview yii2向datacolumn gridview yii2添加字符串过滤器和排序
【发布时间】:2018-02-09 05:16:43
【问题描述】:
['header'=>'Bill No',
'attribute'=>'billid',
'filter'=>ArrayHelper::map(Bills::find()->all(),'id','billno'),
'format' =>'text',
'value'=>  function($data){
    return ($data->billid)?$data->bill->billno:'Nope';
}]

通过使用此代码,我得到一个下拉框作为过滤器,但帐单编号将是 10000。所以我想要一个输入类型的文本作为我的外键的过滤器。

Relationship:
DB Table:
Cashbook
Column: billed

On
DB Table:
Bills
Column:id

我想从这个过滤器的 id 中提取账单号。请帮忙 我想搜索并排序 billno。

【问题讨论】:

    标签: php gridview yii2 yii2-advanced-app yii2-basic-app


    【解决方案1】:

    更好的选择是使用kartik\Select2,这样您就可以在下拉菜单中进行二合一搜索。

    option 表示您必须输入的最少字符数才能打开下拉菜单,而不是通过单击一次打开包含 1000 个选项的下拉菜单。

    minimumInputLength:开始搜索所需的最少字符数。

    [
        'header' => 'Bill No',
        'attribute' => 'billid',
        'filter' => \kartik\widgets\Select2::widget([
            'data' => ArrayHelper::map(Bills::find()->all(),'id','billno'),
            'model' => $searchModel,
            'attribute' => 'billid',
            'options' => [
                'placeholder' => 'Bill No',
                'id' => 'bill_id',
            ],
            'theme' => \kartik\widgets\Select2::THEME_BOOTSTRAP,
            'pluginOptions' => [
                'allowClear' => true,
                'minimumInputLength' => '3',
            ],
        ]),
        'format' =>'text',
        'value'=>  function($data){
          return ($data->billid)?$data->bill->billno:'Nope';
        }
    ],
    

    希望对你有所帮助

    【讨论】:

    • 你还能指导我如何为外键附加输入文本。我需要那个功能
    猜你喜欢
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多