urlGenerator = $urlGenerator; } /** * @param DataTable $dataTable * @param array $options */ public function configure(DataTable $dataTable, array $options) { $dataTable//->add("id", TextColumn::class) ->add('name', TextColumn::class, ['label' => 'name.label', 'render' => function ($value, Part $context) { return $this->urlGenerator->infoHTML($context); }, ]) ->add('description', TextColumn::class, ['label' => 'description.label']) ->add('category', TextColumn::class, ['field' => 'category.name', 'label' => 'category.label']) ->add('instock', TextColumn::class, ['label' => 'instock.label_short']) ->add('mininstock', TextColumn::class, ['label' => 'mininstock.label_short']) //->add('storelocation', TextColumn::class, ['field' => 'storelocation.name', 'label' => 'storelocation.label']) ->addOrderBy('name') ->createAdapter(ORMAdapter::class, [ 'entity' => Part::class, 'criteria' => [ function (QueryBuilder $builder) use ($options) { if (isset($options['cid'])) { $builder->andWhere('part.category = :cid') ->setParameter('cid', $options['cid']); } }, new SearchCriteriaProvider(), ], ]); } }