• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Multiple Columns and List Order with Color

Explorer ,
Jun 02, 2009 Jun 02, 2009

Copy link to clipboard

Copied

I am trying to take this code and enhance it by:

1. It currently displays the output in a 5 column vertical format

output1 output2 output3...

I want it to display in a scrolling 5 column vertical format

output1  output4
output2  output5
output3  output6

based on the number of data points

2. I want the first column background to be blue, the next white, the next blue, the next white, the last blue.

Any way to accomplish this..appreciate any help.

Leo

Code:

<table width="100%" border="0" cellpadding="7" cellspacing="0">
<tr>
<td colspan="5" align="left" valign="top" bgcolor="#CC6699">
<span class="datetextwhite"><a name="THURSDAY"> </a><span class="style6">Thursday, October 29th: PRE-CONFERENCE INTENSIVES</span></span></td>
</tr>
     <TR>
     <CFOUTPUT QUERY="q_daysschedule">
          <TD valign=top><span class="bodytextbold"><span class="style16"><font face="Verdana, Arial, Helvetica, sans-serif">#q_daysschedule.time#</font></span></span><br /><span class="topNavigationBar"><a href="session.cfm?ID=201" class="topNavigationBar">#q_daysschedule.Title#</a></span></TD>
          <CFIF q_daysschedule.CurrentRow MOD 5 IS 0>
               </TR>
               <TR></TR>
          </CFIF>
     </CFOUTPUT>
<tr>

TOPICS
Advanced techniques

Views

554

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 02, 2009 Jun 02, 2009

Copy link to clipboard

Copied

I find these problems easier to solve if I rearrange my data into an array.  Something like this:

DataArray = ArrayNew(2);

Cols = 5;

Outputs = "output1,output2,etc";

Rows = Round(ListLen(Outputs) / Cols + .5);    // 32 outputs would give you 7 rows

for (ii = 1; ii lt cols; ii = ii + 1) {

for (j = 1; j lte Rows; j = j + 1) {

DataArray[ii] = ListFirst(Outputs);

Outputs = ListRestOutputs;

} // rows

}  // cols

// Last Column

for (ii = 1; ii lte ListLen(Outputs); ii = ii + 1 )

DataArray[cols][ii] = ListGetAt(outputs, ii);

// put spaces in blank rows

for (j = ii; j lte rows; j = j + 1)

DataArray[cols] = " ";

Output like this

<cfoutput>

<cfloop from = "1" to = cols index = "ThisRow">

<cfloop from = "1" to = rows index = "ThisCol">

#DataArray[ThisCol][ThisRow]#

closing tags, formatting etc

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 02, 2009 Jun 02, 2009

Copy link to clipboard

Copied

LATEST

The output is coming from a cfquery and this may not work (I may not understand the coding of that)..I really liked the simplicity of the code that I was using and did not know if there was a way to modify that to come up with my ultimate solution.

Leo

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation