DataList内で Multiple として使うと、php エラー
DataList内で使うと、\( this->Page \)this->Parent などがいずれもNULL。そのため、以下の用にTActiveListBox のメソッドを変更。とりあえず 動く様だけど、結局その方法を取らなかった為、その後の検証はせず。public function setSelectionMode($value) { parent::setSelectionMode($value); $multiple = $this->getIsMultiSelect(); $id = $this->getUniqueID(); $multi_id = $id.'[]'; if($multiple) if(!$this->getPage()){ //この行を追加 $this->Application->Service->getRequestedPage()->registerPostDataLoader($multi_id); //この行を追加 }else{ //この行を追加 $this->getPage()->registerPostDataLoader($multi_id); } //この行を追加 if($this->getActiveControl()->canUpdateClientSide()) { $client = $this->getPage()->getCallbackClient(); $client->setAttribute($this, 'multiple', $multiple ? 'multiple' : false); $client->setAttribute($this, 'name', $multiple ? $multi_id : $id); if($multiple) $client->addPostDataLoader($multi_id); } }