TableWrapLayout on ruudukkopohjainen asettelu, joka on hyvin samanlainen kuin widget-vakiotyökalujen joustava GridLayout. TableWrapLayout käyttää kuitenkin asettelun algoritmia, joka toimii HTML-taulukoiden tavoin. Se ottaa asiakasobjektin alueen leveyden huomioon ja kompensoi sitä suurentamalla lomaketta pystysuunnassa.
GridLayout- ja TableWrapLayout-luokilla on monia yhteneväisyyksiä. Molemmat järjestävät aliobjektit ruudukoiksi ja sisältävät asettelua koskevaa tietoa, joka ohjaa asettelua ohjausobjektien käsittelyssä. Molemmat myös ottavat vastaan vihjeitä esimerkiksi siitä, minkä ohjausobjektin pitää täyttää tyhjä tila.
Luokat kuitenkin eroavat merkittävästi siinä, miten ne aloittavat asettelun. TableWrapLayout
lähtee sarakkeista. Se laskee jokaisen sarakkeen minimi-, ihanne- ja maksimileveyden sekä täyttää tämän
tiedon perusteella tyhjää tilaa. Se pyrkii myös jakamaan tilan tasaisesti sarakkeiden kesken, jotta
joitakin ohjausobjekteja ei kierrätetä liikaa.
GridLayout
- ja TableWrapLayout
-luokkien sekoittaminen on
mahdollista, mutta kierrätys loppuu siinä haarassa, jossa GridLayout
-luokkaa käytetään. Luokkia
voi siis yhdistellä, jos kierrätystä ei tarvita (jos esimerkiksi yhdistelmä sisältää ohjausobjekteja,
joita ei voikaan kierrättää, kuten tekstiä, painikkeita ja rakenteita). Lomakkeesta pitää kuitenkin olla
ehjä TableWrapLayout-polku jokaiseen tekstin ohjausobjektiin, joka pitää kierrättää.