Tabulär datainmatning

Ibland vill man kunna samla in användarinmatning satsvis (batch mode). Det vill säga, användaren kan mata in information som tillhör flera modellinstanser och skicka in dem alla på en gång. Detta kallas tabulär inmatning eftersom inmatningsfälten ofta organiseras i en HTML-tabell.

För att arbeta med tabulär inmatning behöver vi först skapa eller tilldela värden i en array av modellinstanser, beroende på ifall vi infogar eller uppdaterar data. Därefter återhämtas användarinmatning från $_POST-variabeln och tilldelas respektive modellinstans. En liten skillnad mot inmatning av en enstaka modellinstans är att vi hämtar in inmatningen med användning av $_POST['ModelClass'][$i] i stället för $_POST['ModelClass'].



Med åtgärden på plats behövs arbete på vyn batchUpdate för att presentera inmatningsfälten i form av en HTML-tabell.



Notera att i ovanstående används "[$i]name" i stället för "name" som andra parameter i anropet till CHtml::activeTextField.

Om det uppstår valideringsfel kommer motsvarande inmatningsfält att framhävas automatiskt, precis som tidigare beskrivits i fråga om inmatning av en enstaka modellinstans.

$Id: form.table.txt 2783 2010-12-28 16:20:41Z qiang.xue $