private function decodeTableRow(\blaze\web\application\BlazeContext $context, \blaze\web\component\UIComponent $component, $found) { foreach ($component->getColumns() as $column) { if ($column instanceof \blaze\web\component\html\DataTableColumns) { $value = $column->getValue(); if ($value != null) { $columnId = 0; foreach ($value as $tableColumn) { $column->setColumnId($columnId++); $context->getELContext()->getContext(\blaze\web\el\ELContext::SCOPE_REQUEST)->set($context, $column->getColumnVar(), $tableColumn); $column->processDecodes($context); $this->recursiveUnsetClientId($column); if (!$found && $this->recursiveCheckSelected($column)) { $component->getSelectedRowIndexLocal()->setValue($context, $component->getRowId()); $found = true; } } $column->setColumnId(-1); } } else { $column->processDecodes($context); $this->recursiveUnsetClientId($column); if (!$found && $this->recursiveCheckSelected($column)) { $component->getSelectedRowIndexLocal()->setValue($context, $component->getRowId()); $found = true; } } } return $found; }