2017-06-13 134 views
0


我需要你的幫助,我的所有。Yii2 GridView的複選框來控制屬性禁用/啓用

我得到一個問題,當我想開發與應用yii2。
我有一個表格,我已經創造了我與GII表索引..

這段代碼在指數

<?= GridView::widget([ 
    'dataProvider' => $dataProvider 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 
      'id', 
      'name', 
      'dob', 
      'address', 
      'gender', 
      'image', 
      'contact, 
      'passport_no', 
      'bank_account', 
     // 'id_no', 
     // 'mother_name', 
     // 'etc', 

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

如果我顯示的所有屬性,然後索引視圖將是非常充分。所以我想創建一個視圖來設置我將在索引中顯示哪個屬性。我想我會選擇屬性與複選框,以便哪些屬性被選中,將顯示在索引中。

有人能幫助我嗎?

回答

0

添加表一列名爲可見。根據需要設置「Y」或「N」。 要做到這一點,你必須有條件地設置Visible屬性。

[ 
    'label' => 'Bank Account', 
    'attribute' => 'bank_account', 
    'visible' => function ($data) { 
     if ($data->visible == 'Y') { 
      return '1'; // or return true; // for visible 
     } else { 
      return '0'; // or return false; // for hide 
     } 
    }, 
], 
+0

感謝對你的答案@vijay。我試過了,但對我來說不起作用。我的意思是我想設置/控制索引中的列以顯示覆選框。因此,我們只選擇複選框來控制索引中的列。 –

+0

如果我理解正確,您希望創建一個不同的視圖,管理員可以打開或關閉某些列的可見性。這是你想要做什麼,或者你想爲用戶提供一個交互選擇系統,讓他們通過複選框列表選擇他們感興趣的列? – Ravenous

+0

是的,這就是我的意思。我想爲用戶提供一個交互選擇系統,讓他們通過複選框列表選擇他們感興趣的列。我在表格用戶中添加「可見」字段以保存每個用戶已選擇的數據列。你可以幫我嗎? @ravenous –