index spécifique pour odd/even

This commit is contained in:
Jephté Clain 2024-11-29 18:38:04 +04:00
parent 23ded28680
commit 4865e6a1fc

View File

@ -197,8 +197,11 @@ class SpoutBuilder extends AbstractBuilder {
protected ?bool $differentOddEven = null;
function setDifferentOddEven(bool $differentOddEven): self {
protected int $oddEvenIndex = 1;
function setDifferentOddEven(bool $differentOddEven, bool $startWithOdd=true): self {
$this->differentOddEven = $differentOddEven;
if ($differentOddEven) $this->oddEvenIndex = $startWithOdd? 1: 0;
return $this;
}
@ -335,12 +338,13 @@ class SpoutBuilder extends AbstractBuilder {
}
if ($this->rowStyle === self::STYLE_HEADER) {
$rowStyle ??= $headerStyle;
} elseif ($differentOddEven && ($this->index + 1) % 2 == 0) {
} elseif ($differentOddEven && $this->oddEvenIndex % 2 == 0) {
$rowStyle ??= $evenStyle;
}
$rowStyle ??= $oddStyle;
self::ensure_style($rowStyle);
$this->ss->addRow(WriterEntityFactory::createRow($cells, $rowStyle));
if ($differentOddEven) $this->oddEvenIndex++;
}
function writeHeaders(?array $headers=null): void {