aadutskevich/yii2-treegrid

此包的最新版本(v1.0.2)没有可用的许可信息。

安装: 49

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

v1.0.2 2017-05-22 15:14 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:40:15 UTC


README

这是Yii 2的jQuery TreeGrid扩展。它将TreeGrid组件封装为Yii小部件,从而使得在Yii应用中使用TreeGrid组件变得极为简单

基于leandrogehlen/yii2-treegrid。

安装

安装此扩展的首选方式是通过composer

运行

php composer.phar require --prefer-dist aadutskevich/yii2-treegrid "*"

或者将以下内容添加到你的composer.json文件的require部分。

"aadutskevich/yii2-treegrid": "*"

如何使用

模型

use yii\db\ActiveRecord;

/**
 * @property string $description
 * @property integer $parent_id
 */
class Tree extends ActiveRecord 
{

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'tree';
    }  
    
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['description'], 'required'],
            [['description'], 'string'],
            [['parent_id'], 'integer']
        ];
    }
}

控制器

use yii\web\Controller;
use Yii;
use yii\data\ActiveDataProvider;

class TreeController extends Controller
{

    /**
     * Lists all Tree models.
     * @return mixed
     */
    public function actionIndex()
    {
        $query = Tree::find();
        $dataProvider = new ActiveDataProvider([
            'query' => $query,
        ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider
        ]);
    }

视图

use aadutskevich\treegrid\TreeGrid;
  
<?= TreeGrid::widget([
        'dataProvider' => $dataProvider,
        'keyColumnName' => 'id',
        'parentColumnName' => 'parent_id',
        'parentRootValue' => '0', //first parentId value
        'pluginOptions' => [
            'initialState' => 'collapsed',
        ],
        'columns' => [
            'name',
            'id',
            'parent_id',
            ['class' => 'yii\grid\ActionColumn']
        ]     
      ]); ?>