printLayouterTableHeader(d, layout.getCellSpacing(), layout.getCellPadding(), layout.getBorder(), layout.getContainer());
printLayouterTableHeader(d, "SGridLayout", layout.getCellSpacing(), layout.getCellPadding(), layout.getBorder(), layout);
    public void write(Device d, SLayoutManager l)            throws IOException {        SGridLayout layout = (SGridLayout) l;        List components = layout.getComponents();        boolean header = layout.getRenderFirstLineAsHeader();        int cols = layout.getColumns();        int rows = layout.getRows();        printLayouterTableHeader(d, layout.getCellSpacing(), layout.getCellPadding(), layout.getBorder(), layout.getContainer());        if (cols <= 0)            cols = components.size() / rows;        boolean firstRow = true;        int col = 0;        for (Iterator iter = components.iterator(); iter.hasNext();) {            if (col == 0)                d.print("<tr>");            else if (col % cols == 0 && iter.hasNext()) {                d.print("</tr>\n<tr>");                firstRow = false;            }            SComponent c = (SComponent) iter.next();            if (firstRow && header)                d.print("<th");            else                d.print("<td");            Utils.printTableCellAlignment(d, c);            Utils.printCSSInlineStyleAttributes(d, c);            d.print(">");            c.write(d); // Render component            if (firstRow && header)                d.print("</th>");            else                d.print("</td>");            col++;            if (!iter.hasNext())                d.print("</tr>\n");        }        printLayouterTableFooter(d);    }