cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Raynok1
Helper V
Helper V

Complex HTML table

Hi There,

 

I would like to know if it would be possible to build a complex html table like so,

Html Table.png

 

The rows are grouped by Site then by Product.
Looking at https://powerusers.microsoft.com/t5/Creating-Apps/Send-email-HTML-format-problem/td-p/121228
@timl  & @jhn1 methods seems promising. In their example, the rows are in one column but thats where I'm stuck. I'm not sure how to take their method to produce the above desired layout. 

The goal is to push the html table to a word and PDF document.

 

Kind Regards,

3 REPLIES 3
Raynok1
Helper V
Helper V

So far I've been able to produce this, 

 

html1.png

 

Code: 

 

"<!DOCTYPE html>
<html>
<head>
<style>
thead {background: #195870;}

table, th, td {
border: 1px solid black;
}
</style>
</head>

<body>
<table class=,table,>

<thead>
<tr>
<th class=,sr-only,>Site</th>
<th class=,sr-only,>Products</th>
<th scope=,col,>Details</th>
<th scope=,col,>Unit Cost</th>
<th scope=,col,>Total</th>
</tr>
</thead>
<tbody>
<tr>"
& Concat(Sort(Gallery1.AllItems,Site & Supplier),"

<td colspan=,1,><br>""Site: "&Site&"</td>

<tr>
<td> <th scope=,row, class=,sr-only,>"&Service&"</th>

<tr>
<td><td align=center>"&Supplier&"</td><td align=center>"&BillingAmount&"</td><td align=center>"&BillingMarkup&"</td>
</tr>"
)&"

<tr>

<th scope=,row, class=,sr-only,>Total</th>
<td><td>Test</td>

</tr>

</tbody>
</table>"

 

 

Still figuring out how to group them by Site and Product.

More Progress, 

Following another example :  https://powerusers.microsoft.com/t5/Creating-Apps/Send-email-HTML-format-problem/td-p/121228

Current result and the example of the end goal. Just need to figure out how to group "Products" now. Getting close.



html2.png

 

Managed to get the items aligned but its pulling blank products,
It shouldnt show Product 3 under Site 1, there is no Products3 under Site 1, likewise for Site2. 


html3.png

 

Clear(TableRows);
Clear(galleryGrouped);
Clear(galleryGrouped2);

ClearCollect(galleryGrouped,
GroupBy(Gallery, "Site", "Service")
);
///Supplier is items/////
ClearCollect(galleryGrouped2,
GroupBy(Gallery, "Service", "Supplier")
);
ForAll(galleryGrouped,
Collect(TableRows,
{SortCol: Site & "0",Value:"<tr><td colspan=""2"" style=""Background-color:gray;"">" &
Site & "</td></tr>"}
);
ForAll(galleryGrouped2,
Collect(TableRows,
{SortCol: Site& Service & "0",
Value:" <tr>
<td> <th scope=,row, class=,sr-only,>"&Service&"</th>"
}
));

ForAll(Service,
Collect(TableRows,
{SortCol: Site& Service & "1",
Value:" <tr>
<td> <th scope=,row, class=,sr-only,>"&Supplier&"</th>" & "
<td> <th scope=,row, class=,sr-only,>"&BillingAmount&"</th>" }

))
)

 

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Carousel_PP_768x460_Wave2 (1).png

2022 Release Wave 2 Plan

Power Platform release plan for the 2022 release wave 2 describes all new features releasing from October 2022 through March 2023.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Top Solution Authors
Users online (3,325)