private function displayEnterAnotherRow()
    {
        $columns = $this->parent->getVisibleColumns();

        $this->createEmbeddedWidgets();

        /*
         * Get column position of enter-a-new-row text. The text is displayed
         * underneath the first input cell that is not blank. If all cells are
         * blank, text is displayed underneath the first cell.
         */
        $position = 0;
        $colspan = 0;
        foreach ($columns as $column) {
            if (
                array_key_exists($column->id, $this->input_cells) &&
                !(
                    $this->input_cells[$column->id] instanceof
                    SwatRemoveInputCell
                )
            ) {
                $position = $colspan;
                break;
            }
            $colspan += $column->getXhtmlColspan();
        }

        $close_length = $this->parent->getXhtmlColspan() - $position - 1;

        $tr_tag = new SwatHtmlTag('tr');
        $tr_tag->id = $this->getId() . '_enter_row';
        $tr_tag->class = 'swat-table-view-input-row-add-row';
        $tr_tag->open();

        if ($position > 0) {
            $td = new SwatHtmlTag('td');
            $td->colspan = $position;
            $td->open();
            echo '&nbsp;';
            $td->close();
        }

        // use the same style as table-view column
        $td = new SwatHtmlTag('td', $column->getTdAttributes());
        $td->open();
        $this->enter_another_link->display();
        $td->close();

        if ($close_length > 0) {
            $td = new SwatHtmlTag('td');
            $td->colspan = $close_length;
            $td->open();
            echo '&nbsp;';
            $td->close();
        }

        $tr_tag->close();
    }