/** * {@inheritdoc} */ public function preBindData(DataGridEventInterface $event) { $dataGrid = $event->getDataGrid(); $request = $event->getData(); if (!$request instanceof Request) { return; } $name = $dataGrid->getName(); $default = array(); switch ($request->getMethod()) { case 'POST': case 'PUT': case 'DELETE': case 'PATCH': $data = $request->request->get($name, $default); break; case 'GET': $data = $request->query->get($name, $default); break; default: throw new DataGridException(sprintf('The request method "%s" is not supported', $request->getMethod())); } $event->setData($data); }