public function renderTableHeader()
{
$cells = [];
foreach ($this->columns as $index => $column) {
/* @var DataColumn $column */
if ($this->resizableColumns && $this->persistResize) {
$column->headerOptions['data-resizable-column-id'] = "kv-col-{$index}";
}
$cells[] = $column->renderHeaderCell();
}
$content = Html::tag('tr', implode('', $cells), $this->headerRowOptions);
if ($this->filterPosition == self::FILTER_POS_HEADER) {
$content = $this->renderFilters() . $content;
} elseif ($this->filterPosition == self::FILTER_POS_BODY) {
$content .= $this->renderFilters();
}
return "<thead>\n" . $this->generateRows($this->beforeHeader) . "\n" . $content . "\n" . $this->generateRows($this->afterHeader) . "\n" . "</thead>";
}