2016-07-01 18 views
0

Ich habe versucht, ActionColumn basierend auf einer Bedingung anzuzeigen/auszublenden. In meinem System sind 2 Rollen definiert: Primary & Secondary. Ich wollte ActionColumn für Role Secondary verstecken und ActionColumn für Role Primary zeigen.Anzeigen/Ausblenden der Grid-Ansicht Aktion Spalte basierend auf der Bedingung - Yii2

Ich habe eine visible Attribut-Option von $visible. Wo, 'visible'=> true und 'visible'=> false funktionieren ordnungsgemäß.

<? 
[ 
    'class' => 'yii\grid\ActionColumn', 
    'visible' => false, 
    . 
    . 
    . 
] 

Aber Problem ist: Ich visible Option als True/False dynamisch basierend auf einer Bedingung setzen wollte.

<? 
[ 
    'class' => 'yii\grid\ActionColumn', 
    'visible' => function ($data) { 
     if (Yii::$app->userinfo->hasRole([AR::ROLE_PRIMARY])) { 
     return true; 
     } 
     if (Yii::$app->userinfo->hasRole([AR::ROLE_SECONDARY])) { 
     return false; 
     } 
    }, 
    . 
    . 
    . 
] 

Ich versuchte auf diese Weise auch. Aber, hatte kein Glück. Jede Hilfe/jeder Hinweis/Vorschlag ist nennenswert.

Ich suchte Yii2 GridView hide column conditionally.

Antwort

3

Sie können keine Sichtbarkeit für eine aufrufbare Variable festlegen, obwohl Sie vor dem Aufrufen der Gridview nichts daran hindern können, eine Variable festzulegen. obwohl

In diesem Fall ist die Sichtbarkeit nur davon abhängig, ob sie die Hauptrolle haben, können Sie nur verwenden:

'visible' => Yii::$app->userinfo->hasRole([AR::ROLE_PRIMARY]) 
+0

gut erledigt. (Y). Es funktionierte. Aber, warum es an einer solchen Bedingung nicht gearbeitet hat. Als hatte es keinen Fehler und gab den wahren/falschen Wert logisch zurück. –

+0

@Nana Partykar: Bruder brauche deinen Rat. Frage Frage Einrichtung Verbot ho gai he. Mene doc lesen Kiya oder Sare Frage ko richtig bearbeiten Kiya .. aber Tanne bhi ban hta nai er. Pls help ... –

+0

Ich sehe das erste Mal dieses Problem. Also habe ich nicht viel Ahnung. Vielleicht ** Moderator ** hat das getan. Kann nur ein Problem von deiner Seite sein. Fragen/Kontakt Stapelüberlauf Unterstützung Biraadar @ vijaynathji –