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
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

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

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (1,067)