Php Yii2:Kartik Gridview:如何隐藏展开/折叠图标列/仅使用可单击行

Php Yii2:Kartik Gridview:如何隐藏展开/折叠图标列/仅使用可单击行,php,gridview,yii2,kartik-v,Php,Gridview,Yii2,Kartik V,使用Kartik Gridview,我的视图Kartik Gridview中有以下ExpandRow列,在该列中,我已使用enableRowClick选项单击并展开网格中的行,以显示相关的详细信息记录,并希望隐藏整个展开/折叠图标行,仅使用行单击功能。我尝试设置“disabled”选项,但这只会使ExpandRowColumn完全禁用 [ 'class' => 'kartik\grid\ExpandRowColumn', 'width' => '50px', 'value

使用Kartik Gridview,我的视图Kartik Gridview中有以下ExpandRow列,在该列中,我已使用enableRowClick选项单击并展开网格中的行,以显示相关的详细信息记录,并希望隐藏整个展开/折叠图标行,仅使用行单击功能。我尝试设置“disabled”选项,但这只会使ExpandRowColumn完全禁用

[
  'class' => 'kartik\grid\ExpandRowColumn',
  'width' => '50px',
  'value' => function ($model, $key, $index, $column) {
       return GridView::ROW_COLLAPSED;
   },
   'detail' => function ($model, $key, $index, $column) {
       return Yii::$app->controller->renderPartial('_example', ['model' => $model]);
   },
   'headerOptions' => ['class' => 'kartik-sheet-style'],
   'expandOneOnly' => true,
   'enableRowClick' => true,
],

我黑了这个小部件的源代码,设法让图标消失了,但列仍然存在。另外,当然它应该回来与我更新小部件:-

在\vendor\kartik-v\yii2 grid\ExpandRowColumn.php中

public function init()
{
    parent::init();
    if (empty($this->detail) && empty($this->detailUrl)) {
        throw new InvalidConfigException("Either the 'detail' or 'detailUrl' must be entered");
    }
    $this->format = 'raw';
//    $this->expandIcon = $this->getIcon('expand');
//    $this->collapseIcon = $this->getIcon('collapse');

我也面临同样的问题。最后,我成功地放置了空字符串。我的解决方法如下

[
  'class' => 'kartik\grid\ExpandRowColumn',
  'width' => '50px',
  'value' => function ($model, $key, $index, $column) {
      return GridView::ROW_COLLAPSED;
   },
  'detail' => function ($model, $key, $index, $column) {
      return Yii::$app->controller->renderPartial('_expand', ['model' => $model]);
   },
  'headerOptions' => ['class' => 'kartik-sheet-style'],
  'expandOneOnly' => true,
  'expandIcon' => '',
  'collapseIcon' => '',
],

隐马尔可夫模型。。。不确定在不修改小部件本身的情况下这是否可行…:|谢谢我想我需要一个更长期的解决方案,使专栏消失,虽然你提出的解决方案是赞赏的。为什么不尝试扩大你的答案,而不仅仅是张贴代码!!详细说明为什么这个答案会有利于OP!我不认为这会使实际的行消失,是吗?现在我没有太多地使用Yii2,也没有快速的测试方法,但我认为您的代码只是让图标消失了,对吗?我最初的问题是如何使实际的图标行消失。
[
  'class' => 'kartik\grid\ExpandRowColumn',
  'width' => '50px',
  'value' => function ($model, $key, $index, $column) {
      return GridView::ROW_COLLAPSED;
   },
  'detail' => function ($model, $key, $index, $column) {
      return Yii::$app->controller->renderPartial('_expand', ['model' => $model]);
   },
  'headerOptions' => ['class' => 'kartik-sheet-style'],
  'expandOneOnly' => true,
  'expandIcon' => '',
  'collapseIcon' => '',
],