Jump to content
Welcome to the new FusionPro User Forum! ×

Using shading on variable table rows


dbentley

Recommended Posts

Hi All.

 

I'll start off by saying that I am completely new to the Table functions within Fusion Pro.

 

With that being said... I'm trying to create a Table that includes new Rows if certain fields are populated within a record. I have been successful, I think, in having the content flow as needed, but the shading and borders continue to remain static. I only want to have the shaded/white rows and borders to appear if there is content available within those specified fields. I have tried many, many ways to fit the shading and borders into the rule, and really have come to the conclusion that I need help.

 

Also, I would welcome any ideas on how to clean this rule up. :)

 

I have attached the working test template as well as the test data file. Thanks so much in advance.

Table_Test.pdf

TableTest.txt

Link to comment
Share on other sites

I figured I could post the rule I have created as well in case it isn't necessary to go into the template for explanation. See below...

 

 

FPTable.prototype.NewRow = function()

{

myTable.AddRows(1);

return myTable.Rows[myTable.Rows.length-1];

}

 

//DomainTable

var myTable = new FPTable;

myTable.AddColumns(14000, 9000, 9000, 9000, 9000, 9000, 9000);

 

// Add rows as we go...

var row = null; // FPTableRow

 

// Domain rows; some are optional.

for (var DomainNum = 1; DomainNum <= 8; DomainNum++)

{

var FieldValDom1 = "";

try { FieldValDom1 = Field("Domain1"); } catch (e) {}

if (FieldValDom1)

{

row = myTable.NewRow();

row.Cells[0].Content = FieldValDom1;

row.Cells[1].Content = Field("Expires1");

row.Cells[2].Content = Field("Privacy1");

row.Cells[3].Content = Field("Auto-Renew1");

row.Cells[4].Content = Field("Free Easy Email1");

row.Cells[5].Content = Field("Free InstantPage1");

row.Cells[6].Content = Field("Free InstantPage1");

for (var c = 1; c <= 5; c++)

row.Cells[c+1].Content = FieldValDom1;

}

}

 

myTable.Rows[0].Cells[0].ShadeColor="Green";

myTable.Rows[0].Cells[0].ShadePct=30;

myTable.Rows[0].CopyCells(0, 1,2,3,4,5,6);

 

myTable.Rows[0].Cells[0].Font="Times New Roman";

myTable.Rows[0].Cells[0].TextColor="Black";

myTable.Rows[0].Cells[0].PointSize=8;

myTable.Rows[0].Cells[0].SetBorders ("Thin", "Black", "Top", "Bottom", "Right");

myTable.Rows[0].Cells[0].VAlign = "middle";

myTable.Rows[0].Cells[0].HAlign = "Center";

myTable.Rows[0].CopyCells(0, 1,2,3,4,5,6);

 

myTable.Rows[0].Cells[0].Content="Domain";

myTable.Rows[0].Cells[1].Content="Expires";

myTable.Rows[0].Cells[2].Content="Privacy";

myTable.Rows[0].Cells[3].Content="Auto-Renew";

myTable.Rows[0].Cells[4].Content="FREE Easy Email";

myTable.Rows[0].Cells[5].Content="FREE InstantPage";

myTable.Rows[0].Cells[6].Content="Action Required";

 

myTable.Rows[1].Cells[0].SetContents=Field("NewDomainNames1");

myTable.Rows[1].Cells[1].SetContents=Field("Expires1");

myTable.Rows[1].Cells[2].SetContents=Field("Privacy1");

myTable.Rows[1].Cells[3].SetContents=Field("Auto-Renew1");

myTable.Rows[1].Cells[4].SetContents=Field("Free Easy Email1");

myTable.Rows[1].Cells[5].SetContents=Field("Free InstantPage1");

myTable.Rows[1].Cells[6].SetContents=Field("Action Required1");

 

//Row1 formatting

myTable.Rows[1].Cells[0].Font="Arial";

myTable.Rows[1].Cells[0].TextColor="Green";

myTable.Rows[1].Cells[0].PointSize=6;

myTable.Rows[1].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[1].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[1].SetContents (Field("Domain1"), Field("Expires1"), Field("Privacy1"), Field("Auto-Renew1"), Field("Free Easy Email1"), Field("Free InstantPage1"), Field("Action Required1"));

 

//Row2 formatting

myTable.Rows[2].Cells[0].Font="Arial";

myTable.Rows[2].Cells[0].TextColor="Green";

myTable.Rows[2].Cells[0].PointSize=6;

myTable.Rows[2].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[2].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[2].SetContents (Field("Domain2"), Field("Expires2"), Field("Privacy2"), Field("Auto-Renew2"), Field("Free Easy Email2"), Field("Free InstantPage2"), Field("Action Required2"));

 

//Row3 formatting

myTable.Rows[3].Cells[0].Font="Arial";

myTable.Rows[3].Cells[0].TextColor="Green";

myTable.Rows[3].Cells[0].PointSize=6;

myTable.Rows[3].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[3].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[3].SetContents (Field("Domain3"), Field("Expires3"), Field("Privacy3"), Field("Auto-Renew3"), Field("Free Easy Email3"), Field("Free InstantPage3"), Field("Action Required3"));

 

//Row4 formatting

myTable.Rows[4].Cells[0].Font="Arial";

myTable.Rows[4].Cells[0].TextColor="Green";

myTable.Rows[4].Cells[0].PointSize=6;

myTable.Rows[4].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[4].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[4].SetContents (Field("Domain4"), Field("Expires4"), Field("Privacy4"), Field("Auto-Renew4"), Field("Free Easy Email4"), Field("Free InstantPage4"), Field("Action Required4"));

 

//Row5 formatting

myTable.Rows[5].Cells[0].Font="Arial";

myTable.Rows[5].Cells[0].TextColor="Green";

myTable.Rows[5].Cells[0].PointSize=6;

myTable.Rows[5].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[5].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[5].SetContents (Field("Domain5"), Field("Expires5"), Field("Privacy5"), Field("Auto-Renew5"), Field("Free Easy Email5"), Field("Free InstantPage5"), Field("Action Required5"));

 

//Row6 formatting

myTable.Rows[6].Cells[0].Font="Arial";

myTable.Rows[6].Cells[0].TextColor="Green";

myTable.Rows[6].Cells[0].PointSize=6;

myTable.Rows[6].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[6].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[6].SetContents (Field("Domain6"), Field("Expires6"), Field("Privacy6"), Field("Auto-Renew6"), Field("Free Easy Email6"), Field("Free InstantPage6"), Field("Action Required6"));

 

//Row7 formatting

myTable.Rows[7].Cells[0].Font="Arial";

myTable.Rows[7].Cells[0].TextColor="Green";

myTable.Rows[7].Cells[0].PointSize=6;

myTable.Rows[7].Cells[0].SetBorders ("Thin", "Black", "Top", "Right");

myTable.Rows[7].CopyCells(0, 1,2,3,4,5,6);

myTable.Rows[7].SetContents (Field("Domain7"), Field("Expires7"), Field("Privacy7"), Field("Auto-Renew7"), Field("Free Easy Email7"), Field("Free InstantPage7"), Field("Action Required7"));

 

// Apply formatting to all the rows.

for (var a = 0; a < myTable.Rows.length; a++)

{

myTable.Rows[a].Cells[0].Bold = "On";

 

for (var b = 0; b < myTable.Columns.length; b++)

{

myTable.Rows[a].Cells.SetBorders("Thin", "Black", "Top", "Bottom");

myTable.Rows[a].Cells.VAlign = "middle";

myTable.Rows[a].Cells.Margins = new FPTableMargins;

myTable.Rows[a].Cells.Margins.Top = 60;

myTable.Rows[a].Cells.Margins.Bottom = 40;

myTable.Rows[a].Cells.Margins.Left = 600;

myTable.Rows[a].Cells.Margins.Right = 600;

myTable.ShadingColor1 = "Black";

myTable.ShadingPct1 = 1;

myTable.ShadingRepeat1 = 1;

myTable.ShadingColor2 = "Black";

myTable.ShadingPct2 = 20;

myTable.ShadingRepeat2 = 1;

myTable.ShadingType = "ByRow"

}

}

 

return myTable.MakeTags();

Edited by dbentley
deleted unnecessary returns (too long)
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...