Hi Abu,
I have a new grid with column header text rotated as seen here –
Is there a way to keep the column header text rotated when exporting to Excel and PDF formats ?
I also can’t seem to get the text to align with the bottom of the header cell (any help with this is also appreciated
In my grid I’ve rotated the header text like so –
$virt_txt_style='<p class=”rotate”>’; // used for all vertical columns text
$col = array(); $col[“name”]=”clean_fridge_freezer”; $col[“title”]=”$virt_txt_style Clean Fridg Freezr</p>”; $col=build_rest_of_parms($col); $cols[]=$col;
function build_rest_of_parms($col)
{
$col[“width”] = “175”;
$col[“align”] = “left”;
$col[“editable”] = true;
$col[“search”] = false;
$col[“sortable”] = true;
//$col[“datefmt”] = “dd”;
return $col;
}
<style>
p.rotate {
writing-mode: vertical-rl;
transform: rotate(180deg);
text-align: left;
}
</style>
Thanks !
Steve
Currently wrapper that we are using to export pdf / excel will need core lib changes.
What you can do is to follow demos/export/export-custom.php which uses callback functions and data is passed to it. You can use TCPDF or PHPExcel library there and export with custom code.
Thanks Abu,
I had looked at demos/export/export-custom.php yesterday but there isn’t an example of exporting pdf format in there (only examples for xls and csv format)-
else if ($grid->options[“export”][“format”] == “pdf”)
{
// your custom pdf generation code goes here …
}
I started looking at TCPDF at tcpdf.org and am completely lost with getting started.
So … I copied off and started hacking up this demo file – demos/export/export-pdf-html.php
If I dump out the html at the end of my callback function to the browser, the header row (titles) are rotated and styled as I specified.
If I let the callback function return the HTML that I build, the resulting PDF in the browser shows that the header row is styled (text color, font-size, bkgrd color, etc.) but the text is not rotated.
Output example of both here – https://jmp.sh/xPdSuyN
I build the table cells for the first row (using 2 divs) in export-pdf-html.php like so –
$html .= “<td bgcolor=\”TEAL\” ><div class=\”vertical-text\”><div class=\”vertical-text__inner\”><strong>$d</strong></div></div></td>”;
The included CSS looks like this –
.vertical-text {
display: inline-block;
overflow: hidden;
width: 2.0em;
color: white;
font-size: 20pt;
}
.vertical-text__inner {
display: inline-block;
white-space: nowrap;
line-height: 2.0;
transform: translate(0,100%) rotate(-90deg);
transform-origin: 0 0;
}
/* This element stretches the parent to be square by using the mechanics of vertical margins */
.vertical-text__inner:after {
content: “”;
display: block;
margin: -2.0em 0 100%;
}
Not sure how best to proceed … just looking for a way for my client to be able to print and download grid output in somewhat of a usable fashion.
Thanks,
Steve