卡拉库姆 / yii2-grid
此包已被弃用且不再维护。未建议替代包。
此扩展提供增强的网格视图,树形网格视图
1.0.0
2016-10-19 19:39 UTC
Requires
- bower-asset/jquery-treegrid: 0.3.0
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2018-10-13 19:49:39 UTC
README
此扩展受到 leandrogehlen/yii2-treegrid 的启发,并进行了一些改进和错误修复。TreeGridView 扩展 yii\grid\GridView
,因此您可以使用所有它的行为,例如列宽选项或过滤。
此外,此扩展还包括标准 Yii2 GridView 的 table-responsive
版本(使用类 \karakum\grid\GridView
)。要禁用此功能,只需设置 'tableWrapperOptions' => false
属性。
这是 Yii 2 的 jQuery TreeGrid 扩展 jQuery TreeGrid。它将 TreeGridView 组件封装在 Yii 小部件中,因此在 Yii 应用程序中使用 TreeGridView 组件变得极其简单。
安装
安装此扩展的首选方法是使用 composer。
运行以下命令:
php composer.phar require --prefer-dist karakum/yii2-grid "*"
或添加以下内容到您的 composer.json
文件的 require 部分中。
"karakum/yii2-grid": "*"
如何使用
模型
use yii\db\ActiveRecord; /** * @property integer $id * @property string $name * @property string $description * @property integer $parent_id */ class Tree extends ActiveRecord { /** * @inheritdoc */ public static function tableName() { return 'tree'; } /** * @inheritdoc */ public function rules() { return [ [['name', 'description'], 'required'], [['name', '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, ]); $dataProvider->pagination = false; return $this->render('index', [ 'dataProvider' => $dataProvider ]); }
视图
use karakum\grid\TreeGridView; <?= TreeGridView::widget([ 'dataProvider' => $dataProvider, // 'keyColumnName' => 'id', // these are defaults // 'parentColumnName' => 'parent_id', // 'parentRootValue' => null, 'pluginOptions' => [ 'treeColumn' => 3, // name ], 'columns' => [ ['class' => 'yii\grid\CheckboxColumn', 'options' => ['style' => 'width: 40px;']], ['class' => 'yii\grid\SerialColumn', 'options' => ['style' => 'width: 40px;']], ['attribute' => 'id', 'options' => ['style' => 'width: 100px;']], 'name', 'description', 'parent_id', ['class' => 'yii\grid\ActionColumn'] ] ]); ?>