0
編集可能な列でKartik Gridviewを設定しようとしました。 1列のタイプはINPUT_SELECT2
です。yii2 Kartik:GridViewのEditable(Multi-)Select2にロードされたデータが表示されない
$gridColumns = [
[
'class'=>'kartik\grid\EditableColumn',
'attribute'=>'occupation_ids',
'value' => 'occuList',
'editableOptions'=>[
'header'=>'Occupations',
'inputType'=>Editable::INPUT_SELECT2,
'options' => [
'attribute'=>'occupations',
'data' => ArrayHelper::map(Occupation::find()->all(), 'id', 'description'),
'options' => [
'multiple' => true,
],
'pluginOptions' => [
'tags' => true,
],
],
'asPopover' => false,
],
],
...];
echo GridView::widget([
'dataProvider'=>$dataProvider,
'columns'=>$gridColumns,
'filterModel' => $searchModel,
]);
保存値完璧に動作します:私は、次の定義を持っているビューで
。しかし、保存されたデータの読み込みと表示に関しては、私は物事を動かすために騙していなければなりませんでした。 GridViewにはMonthlyEmployment
のリストがあります。 MonthlyEmployment
は、以下の方法
* @property Occupation[] $occupations
*/
class MonthlyEmployment extends \yii\db\ActiveRecord
{
public $occupation_ids;
public function getOccuList() {
$arr = [];
foreach ($this->occupations as $ocu) {
$arr[] = $ocu->description;
}
if ($arr != null && !empty($arr)) {
return implode(', ', $arr);
} else {
return '';
}
}
ので、保存された職業は、GridViewの中で示したされています。しかし、フィールドを編集するためにモジュルを開くと、値は選択されません。私が何を意味するかを見るために、下の画像。
GridView Editable Column (Multi)Select2
だから誰KartikのGridView、編集可能とSelectセレクトでの作業例を持っていますか?