/

Tables imbriquées : latérale gauche & droite

position('left') et position('right') font tourner une table imbriquée comme une colonne latérale collante de largeur fixe, aux côtés des propres champs du formulaire parent.

position('left') / position('right')

Les deux valeurs font tourner la table imbriquée comme une colonne de largeur fixe (300px par défaut, min-width: 160px, max-width: 60vw) collée en haut du panneau, aux côtés des propres champs du formulaire parent (ses champs simples, sa barre d'onglets, et toute section bottom/bottom-fixed) plutôt qu'au-dessus ou en dessous. Les deux obtiennent un bord déplaçable pour redimensionner la largeur de la colonne et leur propre défilement interne pour les lignes enfants - le même traitement collant + poignée déplaçable + défilement interne qu'utilise bottom-fixed, simplement tourné sur le côté.

left place la colonne imbriquée à gauche, avec les propres champs du parent qui s'écoulent à droite ; right fait le miroir. Dans les deux cas, la poignée déplaçable se trouve sur le bord qui borde la colonne principale du formulaire.

Exemple : left

Correspondant à pages/nested-table-left.php :

$xcrud = Xcrud::get_instance();
$xcrud->table('orders');
$xcrud->route('nested-table-left');
$xcrud->columns('orderNumber,orderDate,status,customerNumber');

$orderdetails = $xcrud->nested_table('Order details', 'orderNumber', 'orderdetails', 'orderNumber');
$orderdetails->columns('productCode,quantityOrdered,priceEach');
$orderdetails->fields('productCode,quantityOrdered,priceEach');
$orderdetails->order_by('productCode', 'asc');
$orderdetails->change_type('priceEach', 'price', '2', ['prefix' => '$']);
$orderdetails->relation('productCode', 'products', 'productCode', 'productName', null, null, false, ' ', true);

$orderdetails->position('left');

echo $xcrud->render();

Ouvrir ici le formulaire d'édition d'une commande affiche « Order details » comme une colonne fixe qui court sur le côté gauche, épinglée en haut du panneau pendant que les propres champs de la commande défilent à droite. Faites glisser son bord droit pour l'élargir ou la rétrécir.

Exemple : right

La différence d'une ligne :

$orderdetails->position('right');

Même disposition, en miroir - la colonne imbriquée court maintenant sur le côté droit, avec la poignée déplaçable sur son bord gauche (celui qui borde les propres champs du parent), et les champs du parent s'écoulent à gauche à la place.

Référence de position()

ValeurDescription
leftColonne collante de largeur fixe à gauche ; les propres champs du parent s'écoulent à droite ; poignée déplaçable sur le bord droit de la colonne
rightColonne collante de largeur fixe à droite ; les propres champs du parent s'écoulent à gauche ; poignée déplaçable sur le bord gauche de la colonne