public function getHtmlTable(): string
  {
    $this->addClass(static::$class);

    $ret = $this->getHtmlPrefix();

    $ret .= Html::generateTag('table', $this->attributes);

    $childAttributes = ['class' => static::$class];

    // Generate HTML code for the table header.
    $ret .= Html::generateTag('thead', $childAttributes);
    $ret .= $this->getHtmlHeader();
    $ret .= '</thead>';

    // Generate HTML code for the table body.
    $ret .= Html::generateTag('tbody', $childAttributes);
    $ret .= $this->rows;
    $ret .= '</tbody>';

    // Generate HTML code for the table header.
    $ret .= Html::generateTag('tfoot', $childAttributes);
    $ret .= $this->getHtmlFooter();
    $ret .= '</tfoot>';

    $ret .= '</table>';

    $ret .= $this->getHtmlPostfix();

    return $ret;
  }