0

我正在使用 kartik yii2 可编辑扩展在 gridview 中编辑内联。
扩展工作正常。
请参考此屏幕截图链接 [ http://awesomescreenshot.com/00753dvb73][1]

在这个屏幕截图中,该source字段是一个下拉列表,我想要 source 的值而不是它的 idid

我的观点

use kartik\editable\Editable;
    [
            'attribute'=>'source',
            'format'=>'raw',
            'value'=> function($data){ 
              //$s = $data->getBacklog_source();//var_dump($s);exit;
             return Editable::widget([
              'name'=>'source',
              'model'=>$data,
              'value'=>$data->source,
              'header' => 'Source',
              'type'=>'primary',
              'size'=> 'sm',
              'format' => Editable::FORMAT_BUTTON,
              'inputType' => Editable::INPUT_DROPDOWN_LIST,
              'data'=>$data->getSource(), // any list of values
              'options' => ['class'=>'form-control', 'prompt'=>'Select Source'],
              'editableValueOptions'=>['class'=>'text-danger'],
              'afterInput' => Html::hiddenInput('id',$data->id),
              ]);
          }
          ], 

我建立的关系是:

public function getSource()
    {
        $source = BacklogSource::find()->all();
        return ArrayHelper::map($source, 'id', 'Source'); 
    }

    public function getBacklog_complexity()
    {
        return $this->hasOne(BacklogComplexity::className(), [
            'id' => 'complexity'
            ]);
    }

提前感谢您的帮助

4

1 回答 1

1

我得到了这样的解决方案:

[
        'attribute'=>'status',
        'format'=>'raw',
        'value'=> function($data){ 
          $s = BacklogStatus::findOne($data->status);
         return Editable::widget([
          'name'=>'status',
          'model'=>$data,
          'value'=>$s->Status,
          'header' => 'Status',
          'type'=>'primary',
          'size'=> 'sm',
          'format' => Editable::FORMAT_BUTTON,
          'inputType' => Editable::INPUT_DROPDOWN_LIST,
          'data'=>$data->getStatus(), // any list of values
          'options' => ['class'=>'form-control', 'prompt'=>'Select Source'],
          'editableValueOptions'=>['class'=>'text-danger'],
          'afterInput' => Html::hiddenInput('id',$data->id),
          ]);
      }
      ],
于 2015-07-24T11:45:00.707 回答