2016-07-01 42 views
0

我正在嘗試顯示/隱藏ActionColumn根據一些條件。 在我的系統中,定義了2個角色:Primary & Secondary。我想隱藏ActionColumn for Role Secondary並顯示ActionColumn for Role Primary根據條件顯示/隱藏網格視圖Action Column - Yii2

我從$visible得到了一個visible屬性選項。其中,'visible'=> true'visible'=> false正在正常工作。

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

但是,問題是:我想作爲True/False動態地根據一些條件設置visible選項。

<? 
[ 
    '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; 
     } 
    }, 
    . 
    . 
    . 
] 

我也是這樣試過的。但是,沒有運氣。任何幫助/暗示/建議是可觀的。

我搜索了Yii2 GridView hide column conditionally

回答

3

雖然在調用gridview之前沒有什麼可以阻止您設置變量,但您無法將其設置爲可調用。

在這種情況下,雖然,能見度只有依賴於他們是否有主要作用,你可以使用:

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

做得很好。 (Y)。有效。但是,爲什麼它沒有在這樣的條件下工作。因爲它沒有任何錯誤並且在邏輯上返回真/假值。 –

+0

@Nana Partykar:兄弟需要你的建議。問問題設施禁止他蓋。 Mene doc閱讀kiya或sare問題ko正確編輯kiya ..但是fir bhi ban hta nai他。請幫忙... –

+0

我第一次看到這個問題。所以,我沒有太多想法。可能**主持人**做到了。可能只是你身邊的一些問題。詢問/聯繫堆棧溢出支持Biraadar @vijaynathji –

相關問題