Example 27
Description
It is possible to join multiple columns in a row to be printed as one.
That can be used to create subtitles that do need more space than is available in a column.
In this example the second data row joins all columns to print a subtitle.
Output
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
include_once "../src/Report.php";
use Adi\ReportLib as ReportLib;
// Create report instance
// default format A4, portrait with margins left = 20mm, top = 10mm, right = 10mm and bottom = 10mm
$report = new ReportLib\Report();
// Get ref to the report body
$body = $report->getBody();
// Add the table
$table = $body->AddTable();
// Add four columns to the table
$table->addColumn("frametype", "Frame type", 40.0);
$table->addColumn("container", "Container type", 30.0, 'C');
$table->addColumn("description", "Description", 60.0);
$table->addColumn("number", "Number", 20.0, 'R');
// Add a data row to the table with the column widths
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "width 40mm");
$row->setText("container", "width 30mm");
$row->setText("description", "width 60mm");
$row->setText("number", "width 20mm");
$table->addDataRow($row);
// Add a data row as title for the width row
$row = new ReportLib\TableRow('T');
$row->setText("frametype", "From the next row on there is the real data. There is a join from the first to the last column.");
$row->setJoinStart(0);
$row->setJoinEnd(3);
$table->addDataRow($row);
// Add a data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "LineFrame");
$row->setText("container", "No");
$row->setText("description", "This frame type represents a line on the report.");
$row->setText("number", "1");
$table->addDataRow($row);
// Add a second data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "SerialFrame");
$row->setText("container", "Yes");
$row->setText("description", "This is a frame container for a series of frames which will be printed one after the other.");
$row->setText("number", "2");
$table->addDataRow($row);
// Add a third data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "TextFrame");
$row->setText("container", "No");
$row->setText("description", "A simple frame type to print text.");
$row->setText("number", "3");
$table->addDataRow($row);
// Produce the output of the report
// uses the same params as TCPDF (F = File, I = Preview etc.)
$report->output(__DIR__ . "/example_027.pdf", 'I');
<?php
include_once "../src/Report.php";
use Adi\ReportLib as ReportLib;
// Create report instance
// default format A4, portrait with margins left = 20mm, top = 10mm, right = 10mm and bottom = 10mm
$report = new ReportLib\Report();
// Get ref to the report body
$body = $report->getBody();
// Add the table
$table = $body->AddTable();
// Add four columns to the table
$table->addColumn("frametype", "Frame type", 40.0);
$table->addColumn("container", "Container type", 30.0, 'C');
$table->addColumn("description", "Description", 60.0);
$table->addColumn("number", "Number", 20.0, 'R');
// Add a data row to the table with the column widths
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "width 40mm");
$row->setText("container", "width 30mm");
$row->setText("description", "width 60mm");
$row->setText("number", "width 20mm");
$table->addDataRow($row);
// Add a data row as title for the width row
$row = new ReportLib\TableRow('T');
$row->setText("frametype", "From the next row on there is the real data. There is a join from the first to the last column.");
$row->setJoinStart(0);
$row->setJoinEnd(3);
$table->addDataRow($row);
// Add a data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "LineFrame");
$row->setText("container", "No");
$row->setText("description", "This frame type represents a line on the report.");
$row->setText("number", "1");
$table->addDataRow($row);
// Add a second data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "SerialFrame");
$row->setText("container", "Yes");
$row->setText("description", "This is a frame container for a series of frames which will be printed one after the other.");
$row->setText("number", "2");
$table->addDataRow($row);
// Add a third data row to the table
$row = new ReportLib\TableRow('D');
$row->setText("frametype", "TextFrame");
$row->setText("container", "No");
$row->setText("description", "A simple frame type to print text.");
$row->setText("number", "3");
$table->addDataRow($row);
// Produce the output of the report
// uses the same params as TCPDF (F = File, I = Preview etc.)
$report->output(__DIR__ . "/example_027.pdf", 'I');
<?php include_once "../src/Report.php"; use Adi\ReportLib as ReportLib; // Create report instance // default format A4, portrait with margins left = 20mm, top = 10mm, right = 10mm and bottom = 10mm $report = new ReportLib\Report(); // Get ref to the report body $body = $report->getBody(); // Add the table $table = $body->AddTable(); // Add four columns to the table $table->addColumn("frametype", "Frame type", 40.0); $table->addColumn("container", "Container type", 30.0, 'C'); $table->addColumn("description", "Description", 60.0); $table->addColumn("number", "Number", 20.0, 'R'); // Add a data row to the table with the column widths $row = new ReportLib\TableRow('D'); $row->setText("frametype", "width 40mm"); $row->setText("container", "width 30mm"); $row->setText("description", "width 60mm"); $row->setText("number", "width 20mm"); $table->addDataRow($row); // Add a data row as title for the width row $row = new ReportLib\TableRow('T'); $row->setText("frametype", "From the next row on there is the real data. There is a join from the first to the last column."); $row->setJoinStart(0); $row->setJoinEnd(3); $table->addDataRow($row); // Add a data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "LineFrame"); $row->setText("container", "No"); $row->setText("description", "This frame type represents a line on the report."); $row->setText("number", "1"); $table->addDataRow($row); // Add a second data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "SerialFrame"); $row->setText("container", "Yes"); $row->setText("description", "This is a frame container for a series of frames which will be printed one after the other."); $row->setText("number", "2"); $table->addDataRow($row); // Add a third data row to the table $row = new ReportLib\TableRow('D'); $row->setText("frametype", "TextFrame"); $row->setText("container", "No"); $row->setText("description", "A simple frame type to print text."); $row->setText("number", "3"); $table->addDataRow($row); // Produce the output of the report // uses the same params as TCPDF (F = File, I = Preview etc.) $report->output(__DIR__ . "/example_027.pdf", 'I');