{"id":106,"date":"2009-05-31T12:25:00","date_gmt":"2009-05-31T12:25:00","guid":{"rendered":"\/lisa\/post\/2009\/05\/31\/Walkthrough-When-groups-behave-theyre-groovy-Multilinks!.aspx"},"modified":"2009-05-31T12:25:00","modified_gmt":"2009-05-31T12:25:00","slug":"walkthrough-when-groups-behave-theyre-groovy-multilinks","status":"publish","type":"post","link":"https:\/\/spacefold.com\/lisa\/2009\/05\/31\/walkthrough-when-groups-behave-theyre-groovy-multilinks\/","title":{"rendered":"Walkthrough: When groups behave, they&#8217;re groovy.  Multilinks!"},"content":{"rendered":"<p>\nWhen I wrote, a few months ago, that <a href=\"\/lisa\/2009\/03\/08\/Dynamic-Page-Breaks-in-SSRS-Going-to-Eleven\/\" title=\"blog post on avoiding or re-thinking groups\">group bands are a real PITA<\/a>, I didn&#39;t mean to imply that you should never use them.\n<\/p>\n<p>\nRecently we had a requirement for a list of items that should each be linked to a different request to an external application.&nbsp; As you know, and if you don&#39;t you can read <a href=\"\/lisa\/2009\/03\/08\/default\/\" title=\"blog post on using links in reports\">this other recent post<\/a>, SSRS has lots of ways to provide linkage and jumps to external content.&nbsp; The question, this time, was how to put multiple links in one cell.\n<\/p>\n<p>\nI&#39;m going to leave RS 2008&#39;s placeholder control out of this discussion.&nbsp; Obviously, if you can fashion the HTML in another application and just dump it all in one field, you can use a placeholder control to display whatever HTML, including multiple links, you need.&nbsp; But it&#39;s not always so easy, especially when the items to be linked occur in separate rows in the first place.&nbsp; That&#39;s the scenario we&#39;re considering here.\n<\/p>\n<h4>0. Sample data for this walkthrough&nbsp;<\/h4>\n<p>\nI&#39;ve used the MySQL World tutorial database as well as NorthWind, occasionally, to illustrate this particular point to VFP folks, because you can always find some way to fashion a link from geographic data, for example: <font face=\"MS Sans Serif\" size=\"1\"><font face=\"MS Sans Serif\" size=\"1\"><\/font><\/font>\n<\/p>\n<p class=\"code\">\n<strong>&quot;http:\/\/encyclopedia.thefreedictionary.com\/&quot; + city<\/strong>\n<\/p>\n<p>\n&#8230; but I&#39;m getting a little bored with it and our needs for this walkthrough are really simple.&nbsp; So I&#39;ve chosen an example that&#39;s a little closer to home, in fact it&#39;s downright self-referential:\n<\/p>\n<p><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\"><\/p>\n<p class=\"code\">\n<font size=\"2\" color=\"#0000ff\">SELECT <\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&#39;Dynamic Page Breaks in SSRS: Going to Eleven&#39;<\/font><\/font><font size=\"2\"> Label<\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<br \/>\n<\/font><\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;https:\/\/spacefold.com\/lisa\/2009\/03\/08\/default.aspx&#39;<\/font><\/font><font size=\"2\"> Link <\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<\/font><\/font><font size=\"2\">&nbsp;<br \/>\n<\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;March&#39;<\/font><\/font><font size=\"2\"> CMonth<br \/>\n<\/font><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\">UNION<br \/>\nSELECT<\/font><\/font><font size=\"2\"> <\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&#39;Coming back into the light&#39;<\/font><\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<br \/>\n<\/font><\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;https:\/\/spacefold.com\/lisa\/2009\/05\/10\/default.aspx&#39;<\/font><\/font><font size=\"2\"> <\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<\/font><\/font><font size=\"2\">&nbsp;<br \/>\n<\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;May&#39;<\/font><\/font><font size=\"2\"> <br \/>\n<\/font><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\">UNION<br \/>\nSELECT<\/font><\/font><font size=\"2\"> <\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&#39;Whitespace occasionally can jump&#39;<\/font><\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<br \/>\n<\/font><\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;https:\/\/spacefold.com\/lisa\/2009\/05\/17\/default.aspx&#39;<\/font><\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<\/font><\/font><font size=\"2\">&nbsp;<br \/>\n<\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;May&#39;<br \/>\n<\/font><\/font><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\">UNION<br \/>\nSELECT<\/font><\/font><font size=\"2\"> <\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&#39;Buddha&#39;&#39;s dream&#39;<\/font><\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<br \/>\n<\/font><\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;https:\/\/spacefold.com\/lisa\/2009\/05\/22\/default.aspx&#39;<\/font><\/font><font size=\"2\" color=\"#808080\"><font size=\"2\" color=\"#808080\">,<\/font><\/font><font size=\"2\">&nbsp;<br \/>\n<\/font><font size=\"2\" color=\"#ff0000\"><font size=\"2\" color=\"#ff0000\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#39;May&#39;<br \/>\n<\/font><\/font><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\">ORDER<\/font><\/font><font size=\"2\"> <\/font><font size=\"2\" color=\"#0000ff\"><font size=\"2\" color=\"#0000ff\">BY<\/font><\/font><font size=\"2\"> 2<\/font>\n<\/p>\n<p><\/font><\/font><\/p>\n<p>\n&#8230; that&#39;s all you&#39;ll need to follow here.\n<\/p>\n<h4 class=\"code\">1. Consider the base case<\/h4>\n<p>\nThe normal way to provide a link is to use the &quot;Navigate&quot; or &quot;action&quot; facility on an RDL display object, such as a textbox.\n<\/p>\n<p>\nIn this case, we&#39;ll have a textbox with the expression Fields!Label.Value in it, and we&#39;ll link to the expression Fields!Link.Value.&nbsp; That seems simple enough.\n<\/p>\n<p style=\"text-align: center\">\n<img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2009\/5\/Multilinks1.png\" alt=\"\" \/>\n<\/p>\n<p align=\"left\">\nHere&#39;s the equally simple-minded result. I&#39;m going to cut and paste the output right out the MHTML export rather than using a screenshot, just for fun, so you can click on the links.&nbsp; (The other shots in this post are regular images, but I&#39;ve used the underline style for the links so you can recognize them easily):\n<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"MsoNormalTable\" style=\"border-collapse: collapse\">\n<tbody>\n<tr style=\"height: 25.9pt\">\n<td colspan=\"3\" valign=\"top\" style=\"background-color: transparent; height: 25.9pt; border: #f0f0f0; padding: 0in\">\n<div align=\"center\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"MsoNormalTable\" align=\"center\">\n<tbody>\n<tr>\n<td width=\"480\" valign=\"top\" style=\"background-color: transparent; height: 25.9pt; border: #f0f0f0; padding: 2pt\">\n<p style=\"line-height: normal; margin: 0in 0in 0pt\" class=\"MsoNormal\" align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: steelblue; font-size: 20pt\">MultiLinks &#8211; LSN Recent Posts<\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/td>\n<\/tr>\n<tr style=\"height: 9pt\">\n<td width=\"12\" valign=\"top\" style=\"background-color: transparent; width: 9pt; height: 9pt; border: #f0f0f0; padding: 0in\">\n<p align=\"center\">\n\t\t\t&nbsp;\n\t\t\t<\/p>\n<\/td>\n<td width=\"96\" valign=\"top\" style=\"background-color: transparent; width: 1in; height: 9pt; border: #f0f0f0; padding: 0in\">\n<div align=\"left\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"MsoNormalTable\" align=\"center\">\n<tbody>\n<tr style=\"height: 0.25in\">\n<td width=\"96\" valign=\"top\" style=\"width: 1in; background: lightgoldenrodyellow; height: 0.25in; border: #f0f0f0; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<span style=\"font-family: Mufferaw; color: black; font-size: 10pt\">simple table<\/span>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/td>\n<td valign=\"top\" style=\"background-color: transparent; height: 9pt; border: #f0f0f0; padding: 0in\">\n<p align=\"center\">\n\t\t\t&nbsp;\n\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0.4in\">\n<td colspan=\"3\" rowspan=\"2\" valign=\"top\" style=\"background-color: transparent; height: 0.4in; border: #f0f0f0; padding: 0in\">\n<div align=\"center\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"MsoNormalTable\" align=\"center\" style=\"border-collapse: collapse\">\n<tbody>\n<tr>\n<td width=\"96\" style=\"background-color: transparent; width: 1in; border: #f0f0f0; padding: 0in\">&nbsp;<\/td>\n<td width=\"96\" style=\"background-color: transparent; width: 1in; border: #f0f0f0; padding: 0in\">&nbsp;<\/td>\n<td width=\"180\" style=\"background-color: transparent; width: 135.05pt; border: #f0f0f0; padding: 0in\">&nbsp;<\/td>\n<\/tr>\n<tr style=\"height: 0.25in\">\n<td valign=\"top\" style=\"background: steelblue; height: 0.25in; border: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">March<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background: steelblue; height: 0.25in; border-top: lightgrey 1pt solid; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">Post<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background: steelblue; height: 0.25in; border-top: lightgrey 1pt solid; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">Title<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 15.1pt\">\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: lightgrey 1pt solid; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\"><strong><span style=\"font-family: 'Tahoma','sans-serif'; color: steelblue; font-size: 10pt\">&nbsp;<\/span><\/strong><\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\">2009\/03\/08<\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><u><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\"><a href=\"\/lisa\/2009\/03\/08\/default\/\"><span style=\"color: black\">Dynamic Page Breaks in SSRS: Going to Eleven<\/span><\/a><\/span><\/u><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0.25in\">\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: lightgrey 1pt solid; background: steelblue; height: 0.25in; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">May<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background: steelblue; height: 0.25in; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">Post<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background: steelblue; height: 0.25in; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: white\"><font size=\"3\">Title<\/font><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 15.1pt\">\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: lightgrey 1pt solid; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: steelblue; font-size: 10pt\"><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\">2009\/05\/10<\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><u><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\"><a href=\"\/lisa\/2009\/05\/10\/default\/\"><span style=\"color: black\">Coming back into the light<\/span><\/a><\/span><\/u><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 15.1pt\">\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: lightgrey 1pt solid; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: steelblue; font-size: 10pt\"><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\">2009\/05\/17<\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><u><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\"><a href=\"\/lisa\/2009\/05\/17\/default\/\"><span style=\"color: black\">Whitespace occasionally can jump<\/span><\/a><\/span><\/u><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 15.1pt\">\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: lightgrey 1pt solid; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: steelblue; font-size: 10pt\"><\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\">2009\/05\/22<\/span><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<td valign=\"top\" style=\"border-bottom: lightgrey 1pt solid; border-left: #f0f0f0; background-color: transparent; height: 15.1pt; border-top: #f0f0f0; border-right: lightgrey 1pt solid; padding: 2pt\">\n<p align=\"left\">\n\t\t\t\t\t\t<strong><u><span style=\"font-family: 'Tahoma','sans-serif'; color: black; font-size: 10pt\"><a href=\"\/lisa\/2009\/05\/22\/default\/\"><span style=\"color: black\">Buddha&#39;s dream<\/span><\/a><\/span><\/u><\/strong>\n\t\t\t\t\t\t<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>\n\t\t\t&nbsp;\n\t\t\t<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 13.8pt\">\n\t\t\t<strong><\/p>\n<div align=\"center\">\n\t\t\t<span style=\"font-family: 'Times New Roman','serif'; font-size: 12pt\"><\/span>\n\t\t\t<\/div>\n<p>\t\t\t<\/strong><br \/>\n\t\t<\/tr>\n<\/tbody>\n<\/table>\n<h4>2. Nest one data region inside another<\/h4>\n<p>\nThe trick to having some elements repeat multiple times against another, in an RDL, is simply to nest data regions.&nbsp;\n<\/p>\n<p>\nIn the following example, I&#39;ve put a List inside another list.&nbsp;A list will repeat once for each relevant row of data, and it can contain free-form content by, in turn, containing other RDL display elements, such as text boxes and images.&nbsp; In this case I&#39;ve used the inner list to create a &quot;bulleted list&quot; of links. I&#39;ve used a different color for the bullet just to make sure you can see the distinct textbox elements within the single list container.&nbsp;\n<\/p>\n<p align=\"center\">\n<img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2009\/5\/Multilinks2.png\" alt=\"\" \/>\n<\/p>\n<p>\nThe outer list is distinguished from the inner content because it repeats on a different basis (in this case, I&#39;ve grouped the posts by month,&nbsp;using the expression&nbsp;<strong>=Fields!CMonth.Value<\/strong>).&nbsp;\n<\/p>\n<p>\nThe outer list <em>must<\/em> be grouped. But, as&nbsp;the note on the report surface says, you can use containers to group report display elements to make them easier to move as a unit.&nbsp; If you don&#39;t happen to need a grouping value, just group the outer container on a constant.\n<\/p>\n<p align=\"center\">\n<img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2009\/5\/Multilinks3.png\" alt=\"\" \/>\n<\/p>\n<h4>3. Now build a better table<\/h4>\n<p>\nSo now you can take that inner list container that we used above, and put it right into a cell of a (group) row of a table.&nbsp; The result gives us exactly what we&#39;re looking for in the table, without any fancy or finicky HTML-generation code to bring together the multiple data rows.\n<\/p>\n<p>\n&nbsp;\n<\/p>\n<p align=\"center\">\n<img decoding=\"async\" src=\"\/lisa\/wp-non\/migrated\/2009\/5\/Multilinks4.png\" alt=\"\" \/>\n<\/p>\n<p>\nSee how easy that was? It was almost fun. And we owe it all to group expressions.\n<\/p>\n<p>\nPoor, dear little group expressions. So terribly misunderstood.\n<\/p>\n<p>\nThey don&#39;t <em>want<\/em> to be evil.&nbsp;&nbsp;&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When I wrote, a few months ago, that group bands are a real PITA, I didn&#39;t mean to imply that you should never use them. Recently we had a requirement for a list of items that should each be linked to a different request to an external application.&nbsp; As you know, and if you don&#39;t<a class=\"more-link\" href=\"https:\/\/spacefold.com\/lisa\/2009\/05\/31\/walkthrough-when-groups-behave-theyre-groovy-multilinks\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6],"tags":[],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-reporting","category-sql-server"],"_links":{"self":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":0,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"wp:attachment":[{"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spacefold.com\/lisa\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}