Prado\Web\UI\WebControls\TListControl::renderContents PHP Method

renderContents() public method

This method renders items contained in the list control as the body content.
public renderContents ( $writer )
    public function renderContents($writer)
    {
        $this->renderPrompt($writer);
        if ($this->_items) {
            $writer->writeLine();
            $previousGroup = null;
            foreach ($this->_items as $item) {
                if ($item->getEnabled()) {
                    if ($item->getHasAttributes()) {
                        $group = $item->getAttributes()->remove('Group');
                        if ($group !== $previousGroup) {
                            if ($previousGroup !== null) {
                                $writer->renderEndTag();
                                $writer->writeLine();
                                $previousGroup = null;
                            }
                            if ($group !== null) {
                                $writer->addAttribute('label', $group);
                                $writer->renderBeginTag('optgroup');
                                $writer->writeLine();
                                $previousGroup = $group;
                            }
                        }
                        foreach ($item->getAttributes() as $name => $value) {
                            $writer->addAttribute($name, $value);
                        }
                    } else {
                        if ($previousGroup !== null) {
                            $writer->renderEndTag();
                            $writer->writeLine();
                            $previousGroup = null;
                        }
                    }
                    if ($item->getSelected()) {
                        $writer->addAttribute('selected', 'selected');
                    }
                    $writer->addAttribute('value', $item->getValue());
                    $writer->renderBeginTag('option');
                    $writer->write(THttpUtility::htmlEncode($item->getText()));
                    $writer->renderEndTag();
                    $writer->writeLine();
                }
            }
            if ($previousGroup !== null) {
                $writer->renderEndTag();
                $writer->writeLine();
            }
        }
    }