LyndaEngelage Posted June 29, 2020 Share Posted June 29, 2020 (edited) Using FusionPro Designer 10.1.11 I'm trying to create a table where the rows have alternate shading with 13 percent black shading starting on row two and following the same every other row. I would like the shading or rows in the table to be suppressed if the data doesn't exist and need some assistance on the coding. I know you can "Loop" code but with alternating row shades was not sure how to do this. This is part an example of my table (the finished table will have a possibility of 40 rows with two columns. new FPTable; var table = new FPTable; table.AddColumns(20000,32000); table.AddRows(40); table.Rows[0].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[0].Cells[0].HAlign = "Left"; table.Rows[0].Cells[0].VAlign = "Middle"; table.Rows[0].Cells[0].Content=Field("cardholder1"); table.Rows[0].Cells[0].Font="Futura Std"; table.Rows[0].Cells[0].PointSize="10"; table.Rows[0].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[0].Cells[1].HAlign = "Left"; table.Rows[0].Cells[1].VAlign = "Middle"; table.Rows[0].Cells[1].Content=Field("credit_limit1"); table.Rows[0].Cells[1].Font="Futura Std"; table.Rows[0].Cells[1].PointSize="10"; table.Rows[1].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[1].Cells[0].HAlign = "Left"; table.Rows[1].Cells[0].VAlign = "Middle"; table.Rows[1].Cells[0].ShadeColor = "Black"; table.Rows[1].Cells[0].ShadePct = "13"; table.Rows[1].Cells[0].Content=Field("cardholder2"); table.Rows[1].Cells[0].Font="Futura Std"; table.Rows[1].Cells[0].PointSize="10"; table.Rows[1].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[1].Cells[1].HAlign = "Left"; table.Rows[1].Cells[1].VAlign = "Middle"; table.Rows[1].Cells[1].ShadeColor = "Black"; table.Rows[1].Cells[1].ShadePct = "13"; table.Rows[1].Cells[1].Content=Field("credit_limit2"); table.Rows[1].Cells[1].Font="Futura Std"; table.Rows[1].Cells[1].PointSize="10"; table.Rows[2].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[2].Cells[0].HAlign = "Left"; table.Rows[2].Cells[0].VAlign = "Middle"; table.Rows[2].Cells[0].Content=Field("cardholder3"); table.Rows[2].Cells[0].Font="Futura Std"; table.Rows[2].Cells[0].PointSize="10"; table.Rows[2].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[2].Cells[1].HAlign = "Left"; table.Rows[2].Cells[1].VAlign = "Middle"; table.Rows[2].Cells[1].Content=Field("credit_limit3"); table.Rows[2].Cells[1].Font="Futura Std"; table.Rows[2].Cells[1].PointSize="10"; table.Rows[3].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[3].Cells[0].HAlign = "Left"; table.Rows[3].Cells[0].VAlign = "Middle"; table.Rows[3].Cells[0].ShadeColor = "Black"; table.Rows[3].Cells[0].ShadePct = "13"; table.Rows[3].Cells[0].Content=Field("cardholder4"); table.Rows[3].Cells[0].Font="Futura Std"; table.Rows[3].Cells[0].PointSize="10"; table.Rows[3].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[3].Cells[1].HAlign = "Left"; table.Rows[3].Cells[1].VAlign = "Middle"; table.Rows[3].Cells[1].ShadeColor = "Black"; table.Rows[3].Cells[1].ShadePct = "13"; table.Rows[3].Cells[1].Content=Field("credit_limit4"); table.Rows[3].Cells[1].Font="Futura Std"; table.Rows[3].Cells[1].PointSize="10"; table.Rows[4].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[4].Cells[0].HAlign = "Left"; table.Rows[4].Cells[0].VAlign = "Middle"; table.Rows[4].Cells[0].Content=Field("cardholder5"); table.Rows[4].Cells[0].Font="Futura Std"; table.Rows[4].Cells[0].PointSize="10"; table.Rows[4].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[4].Cells[1].HAlign = "Left"; table.Rows[4].Cells[1].VAlign = "Middle"; table.Rows[4].Cells[1].Content=Field("credit_limit5"); table.Rows[4].Cells[1].Font="Futura Std"; table.Rows[4].Cells[1].PointSize="10"; table.Rows[5].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[5].Cells[0].VAlign = "Middle"; table.Rows[5].Cells[0].ShadeColor = "Black"; table.Rows[5].Cells[0].ShadePct = "13"; table.Rows[5].Cells[0].Content=Field("cardholder6"); table.Rows[5].Cells[0].Font="Futura Std"; table.Rows[5].Cells[0].PointSize="10"; table.Rows[5].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[5].Cells[1].HAlign = "Left"; table.Rows[5].Cells[1].VAlign = "Middle"; table.Rows[5].Cells[1].ShadeColor = "Black"; table.Rows[5].Cells[1].ShadePct = "13"; table.Rows[5].Cells[1].Content=Field("credit_limit6"); table.Rows[5].Cells[1].Font="Futura Std"; table.Rows[5].Cells[1].PointSize="10"; table.Rows[6].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[6].Cells[0].HAlign = "Left"; table.Rows[6].Cells[0].VAlign = "Middle"; table.Rows[6].Cells[0].Content=Field("cardholder7"); table.Rows[6].Cells[0].Font="Futura Std"; table.Rows[6].Cells[0].PointSize="10"; table.Rows[6].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[6].Cells[1].HAlign = "Left"; table.Rows[6].Cells[1].VAlign = "Middle"; table.Rows[6].Cells[1].ShadeColor = "Black"; table.Rows[6].Cells[1].Font="Futura Std"; table.Rows[6].Cells[1].PointSize="10"; table.Rows[7].Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; table.Rows[7].Cells[0].VAlign = "Middle"; table.Rows[7].Cells[0].ShadeColor = "Black"; table.Rows[7].Cells[0].ShadePct = "13"; table.Rows[7].Cells[0].Content=Field("cardholder8"); table.Rows[7].Cells[0].Font="Futura Std"; table.Rows[7].Cells[0].PointSize="10"; table.Rows[7].Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; table.Rows[7].Cells[1].HAlign = "Left"; table.Rows[7].Cells[1].VAlign = "Middle"; table.Rows[7].Cells[1].ShadeColor = "Black"; table.Rows[7].Cells[1].ShadePct = "13"; table.Rows[7].Cells[1].Content=Field("credit_limit8"); table.Rows[7].Cells[1].Font="Futura Std"; table.Rows[7].Cells[1].PointSize="10"; return table.MakeTags(); I'm not sure how to write the rule to purge rows in a table where there is no data and with alternate shading in the cells. Edited June 29, 2020 by LyndaEngelage Quote Link to comment Share on other sites More sharing options...
Dan Korn Posted June 29, 2020 Share Posted June 29, 2020 You can still use a loop to populate a table with alternate row shading. You can specify separate ShadingColor1, ShadingPct1, ShadingColor2, and ShadingPct2 properties on the table object, as described here: http://forums.pti.com/showthread.php?t=2087 So, I can't test this without your other job files, but I think this will do what you want: var table = new FPTable; table.AddColumns(20000,32000); table.ShadingColor1 = "White"; table.ShadingPct1 = 100; table.ShadingColor2 = "Black"; table.ShadingPct2 = 13; for (var i = 1; i <= 40; i++) { if (!Field("cardholder " + i)) continue; var row = table.AddRow(); row.Cells[0].Margins = { Top:20, Bottom:30, Left:1800, Right:0 }; row.Cells[0].HAlign = "Left"; row.Cells[0].VAlign = "Middle"; row.Cells[0].Content = Field("cardholder " + i); row.Cells[0].Font = "Futura Std"; row.Cells[0].PointSize = 10; row.Cells[1].Margins = { Top:20, Bottom:30, Left:0, Right:0 }; row.Cells[1].HAlign = "Left"; row.Cells[1].VAlign = "Middle"; row.Cells[1].Content = Field("credit_limit" + i); row.Cells[1].Font = "Futura Std"; row.Cells[1].PointSize = 10; } return table.MakeTags(); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.