Как отформатировать первый столбец в таблице Symfony так же, как первый ряд?
Таблица Symfony обычно окрашивает первую строку в отличие от других строк. Однако я хотел бы, чтобы первая строка И первый столбец имели одинаковый стиль. Я знаю, что существует TableStyle
но я не могу понять, как придать первому столбцу + первой строке такой же стиль. В этом примере таблицы я бы хотел, чтобы первый столбец также окрашивался в зеленый цвет (текст Строка A, Строка B и Строка C).
Этот пример таблицы может быть создан с использованием следующего кода:
$table = new Table($output);
$table
->setHeaders(array('Col A', 'Col B', 'Col C'))
->setRows(array(
array('Row A', 'Divine Comedy', 'Dante Alighieri'),
array('Row B', 'A Tale of Two Cities', 'Charles Dickens'),
array('Row C', 'The Lord of the Rings', 'J. R. R. Tolkien'),
))
;
$table->render();
ура
1 ответ
Вам нужно создать TableStyle
экземпляр и установить cellRowContentFormat
как это:
<?php
use Symfony\Component\Console\Helper\Table;
require_once 'vendor/autoload.php';
$output = new Symfony\Component\Console\Output\ConsoleOutput();
$table = new Table($output);
$style = new \Symfony\Component\Console\Helper\TableStyle();
$style->setCellRowContentFormat('<info> %s </info>');
$table->setColumnStyle(0, $style);
$table
->setHeaders(array('Col A', 'Col B', 'Col C'))
->setRows(array(
array('Row A', 'Divine Comedy', 'Dante Alighieri'),
array('Row B', 'A Tale of Two Cities', 'Charles Dickens'),
array('Row C', 'The Lord of the Rings', 'J. R. R. Tolkien'),
))
;
$table->render();
Вы можете посмотреть на TableStyle::$cellRowContentFormat
а также TableStyle::$cellHeaderFormat
значения членов по умолчанию: по умолчанию $cellHeaderFormat
является '<info>%s</info>'
и это значение делает заголовок ячейки зеленым (информационный цвет).