AlternatingRows.vb
C# VB
'''' This code is part of Document Solutions for Word demos.'' Copyright (c) MESCIUS inc. All rights reserved.''Imports System.DrawingImports GrapeCity.Documents.Word
'' This sample uses conditional table formatting to build a table'' with alternating row backgrounds.Public Class AlternatingRows Function CreateDocx() As GcWordDocument Dim doc = New GcWordDocument()
'' Random-ish table dimensions: Dim rand = Util.NewRandom() Dim rows = rand.Next(10, 100) Dim cols = rand.Next(4, 6)
doc.Body.Paragraphs.Add( $"A {cols} columns by {rows} rows table, with conditional styles applied to alternating rows:")
'' Add an empty table: Dim t = doc.Body.Tables.Add(0, 0)
'' Add some rows and cells to it: Dim cells = New List(Of String)(cols) For col = 1 To cols cells.Add(String.Empty) Next For row = 0 To rows - 1 For col = 0 To cols - 1 cells(col) = $"Row {row + 1}, col {col + 1}" Next t.Rows.Add(cells.ToArray()) Next
'' Create a table style on which we will define conditional formatting: Dim ts1 = doc.Styles.Add("Table Style 1", StyleType.Table) '' And assign the style to the table: t.Style = ts1
'' Set up simple borders: For Each border In ts1.Table.Borders border.LineStyle = LineStyle.Single border.LineWidth = 0.5F border.Color.RGB = Color.DarkGray Next '' Add some padding: ts1.Table.Padding.All = 2
'' To use certain table styles, we need to set corresponding flags on the table's style options: t.Format.StyleOptions = TableStyleOptions.RowBands
'' Set up the style to use alternating background colors on odd and even rows: ts1.Table.RowStripe = 1 '' Odd rows' style: ts1.Table.Conditionals(TableStyleOverride.Band1Horizontal).Shading.Texture = TexturePattern.Clear ts1.Table.Conditionals(TableStyleOverride.Band1Horizontal).Shading.BackgroundPatternColor.RGB = Color.FromArgb(&HE6, &HFF, &HE6) '' Even rows' style: ts1.Table.Conditionals(TableStyleOverride.Band2Horizontal).Shading.Texture = TexturePattern.Clear ts1.Table.Conditionals(TableStyleOverride.Band2Horizontal).Shading.BackgroundPatternColor.RGB = Color.FromArgb(&HFF, &HFF, &HE6)
'' Done: Return doc End FunctionEnd Class