2016-08-06 1 views
1

Am использование Картик dynagrid и я хотел бы установить текст, который показывает, когда DataProvider возвращает пустогоУстановка пустого текста в Картиках dynagrid

Сетка

echo DynaGrid::widget([ 
      'columns' => $columns, 
      'showPersonalize' => true, 
     'emptyText'=>'Sorry all pr have pritems',///-----------------This is what i had set 
      'options' => ['id' => 'assignsolic-grid'], 
      'gridOptions' => [ 
       'options' => ['id' => 'grid'], 
       'dataProvider' => $dataProvider, 
       'filterModel' => $searchModel, 
       'showPageSummary'=>false, 
       'pager' => [ 
        'firstPageLabel' => 'First', 
        'lastPageLabel' => 'Last', 
        'maxButtonCount' => 10, 
       ], 
        'panel' => [ 
      'type' => GridView::TYPE_PRIMARY, 
         // 'heading' => '<h3 class="panel-title"><i class="glyphicon glyphicon-book"></i> </h3>', 
         'before'=>'<i>Select the Prs to assign solicitation and then click the Assign Solicitation button</i>', 
         'after' => 

     Html::button(' <i class=" glyphicon glyphicon-road "></i> Assign Solicitation ', ['value' => Url::to('assignsolc'),'class' => 'btn btn-danger', 'id' => 'assignsolic']), 

         'footer' => false 
        ], 
       'toolbar' => [ 
        ['content' => '{dynagridFilter}{dynagridSort}{dynagrid}'], 
        '{export}', 
        '{toggleData}' 
       ], 
       'pjax' => true, 
       'bordered' => false, 
       'striped' => true, 
       'condensed' => true, 
       'responsive' => true, 
       'responsiveWrap' => false, 
       'containerOptions'=>['style'=>'overflow:scroll'], 
      ] 
     ]) ; 

Это returs ошибки Установки неизвестного свойства: Картик \ dynagrid \ DynaGrid :: emptyText, как я могу установить пустой текст

+0

Я использую форматер в конфиге/main.php ... я выложил asnwer .. надежда полезна – scaisEdge

ответ

1

Вы можете определить значение для нулевого отображения непосредственно в CONFI компоненте форматировочной/main.php

'components' => [ 
    ....... 
     'formatter' => [ 
     'class' => 'yii\i18n\Formatter', 
     'dateFormat' => 'dd.MM.yyyy', 
     'decimalSeparator' => ',', 
     'thousandSeparator' => ' ', 
     'currencyCode' => 'EUR', 
     'nullDisplay' => '',   // **** this param 
    ], 
..... 

В противном случае, если виджет не обеспечивает надлежащий атрибут можно использовать анонимную функцию для значения

[ 
    'attribute' => 'your_attribute', 
    'value' => function ($model) { 
     if ($model->your_attribute == NULL) { 
      return 'Sorry all pr have pritems'; 
     } else { 
      return $model->your_attribute; 
     } 
    }, 
    ], 
+0

у меня есть несколько dynagrids и каждый dynagrid должен иметь другое сообщение –

+0

вы некоторые ссылки для dinagrid.? , я не очень много знаю. – scaisEdge

+0

Что вы подразумеваете под ссылкой для dynagrid –

0

Поскольку я использую $ DataProvider я узнал, что я просто проверить, если DataProvider пуст по

if (!$dataProvider->totalCount > 0) { pass in message to display } 
else{?> 

    SHOW THE GRID HERE 

<?php 
    } 
    ?> 

    ?>