We have a page (internal only, so no link) that presents data like this:
(Example #1)
PANEL 1 DATE1 DATE2 DATE3 DATE4 DATE5
Test1 result1 result2 result3 result4 result5
Test2 result6 result7 result8 result9 result10
Test3 result11 result12 result13 result14 result15
Test4 result16 result17 result18 result19 result20
PANEL 2 DATE1 DATE2 DATE3 DATE4 DATE5
Test5 result21 result22 result23 result24 result25
Test6 result26 result27 result28 result29 result30
Test7 result31 result32 result33 result34 result35
Test8 result36 result37 result38 result39 result40
For a particular query, the number of date columns will always be the same,
but that number isn't always the same with different query results. (So,
each "PANEL" will always have the same number of dates, but that number is
a variable depending on the data.)
Now, we need to present a "printable" version of this page. That means
if there are too many columns, we need to break up the data so it doesn't
go past the right edge of the page. We want the data to look like this
(assuming only 3 date columns fit on a page):
(Example #2)
PANEL 1 DATE1 DATE2 DATE3
Test1 result1 result2 result3
Test2 result6 result7 result8
Test3 result11 result12 result13
Test4 result16 result17 result18
PANEL 1 DATE4 DATE5
Test1 result4 result5
Test2 result9 result10
Test3 result14 result15
Test4 result19 result20
PANEL 2 DATE1 DATE2 DATE3
Test5 result21 result22 result23
Test6 result26 result27 result28
Test7 result31 result32 result33
Test8 result36 result37 result38
PANEL 2 DATE4 DATE5
Test5 result24 result25
Test6 result29 result30
Test7 result34 result35
Test8 result39 result40
I'm having a real problem trying to get that data to break up right.
So, I'm open to suggestions on how best to accomplish this.
Right now I have the data in the printable page displaying as Example #1
with the following pseudo-code which puts all of the content into a variable to
display later.
The function "panelHeader()" displays the row that looks like:
PANEL 2 DATE1 DATE2 DATE3
The query has the following columns (simplified version):
panel_seq_no (the panel number)
panel_name
cd (test seq_no)
test (name of test)
mydate (date of test result)
result (value of result)
(You'll notice I'm not using the group attribute of the queries. This is
in anticipation of having to break up the columns where I don't think that
would work)
----------------------
BEGIN CODE
----------------------
<cfset curTest = 0>
<cfset curPanel = 0>
<cfoutput query="getpanels">
<cfif getPanels.panel_seq_no NEQ curPanel>
<cfset curpanel = getPanels.panel_seq_no>
<cfscript>
pageContent = pageContent & panelHeader(getPanels.panel_name,datelist,1,variables.colsPerrow);
</cfscript>
</cfif>
<cfif getPanels.cd NEQ curTest>
<cfset curTest = getPanels.cd>
<cfset lineCount = lineCount + 1>
<cfscript>
if (getPanels.currentRow NEQ 1)
{
pageContent = pageContent & "</tr>";
}
pageContent = pageContent & "
<tr>
<TD>#getpanels.test#</TD>
";
</cfscript>
</cfif>
<cfscript>
pageContent = pageContent & "
<td>#getpanels.result#</td>
";
</cfscript>
<cfif getPanels.CurrentRow EQ getPanels.RecordCount>
<cfscript>
pageContent = pageContent & "</tr>";
</cfscript>
</cfif>
</cfoutput>
----------------------
END CODE
----------------------
So, any ideas? Does this even make sense?
Scott
---------------------------
Scott Brady
http://www.scottbrady.net/
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

