J'ai une table qui contient des informations par exemple "ID", "Category", "Name" et "Action". Maintenant, je veux améliorer la table avec des cases à cocher qui permet à l'utilisateur de choisir plusieurs lignes et de les supprimer en une seule étape.Symfony2 Expaned table avec cases à cocher
Mon problème: J'ai créé un formulaire avec le formulaire constructeur:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('id', 'entity', array(
'required' => false,
'class' => 'AppBundle:Task',
'property' => 'id',
'multiple' => true,
'expanded' => true
))
->add('add', 'submit', array('label' => 'Add'));
}
Ce formulaire est envoyé à la brindille-html avec la table qui contient les données de la table.
{% if table|length > 0 %}
{{ form_start(addForm) }}
{{ form_errors(addForm) }}
<table class='result' border=1>
<th></th>
<th>ID</th>
<th>Category</th>
<th>Name</th>
<th>Action</th>
{% for item in table %}
<tr>
<td>
{% for entity in addForm.id %}
{% if entity.vars.value == item.id %}
{{ form_widget(entity.vars.form) }}
{% endif %}
{% endfor %}
</td>
<td>{{ item.id }}</td>
<td>{{ item.category }}</td>
<td>{{ item.name }}</td>
<td>{{ item.action }}</td>
</tr>
{% endfor %}
</table>
Comme vous pouvez le voir ma solution doit chercher dans une boucle pour l'ID correcte de la forme-élément et placez-les.
Mon problème maintenant: Je ne me sens pas à l'aise avec cette solution - y a-t-il un moyen plus facile d'afficher une table contenant plusieurs colonnes et cases à cocher?
Merci à l'avance
EDIT:
ont également le problème que je reçois l'erreur suivante après avoir sélectionné des cases à cocher:
Neither the property "id" nor one of the methods "addId()"/"removeId()", "setId()", "id()", "__set()" or "__call()" exist and have public access in class "AppBundle\Entity\XXXXXX".
Votre indice m'a aidé beaucoup - merci ... – Atreides78