c# pdf viewer component : Change page order pdf application Library tool html .net wpf online wijmo.reportviewer3-part1187

27 
</wijmo:C1ReportViewer> 
</div> 
This parent container will be resized at run time. 
2.
Add the following markup just below the lightbox markup: 
<p>Change the parent container size:</p> 
<ul> 
<li><a href="javascript:changeParentSize(320, 240);">Change the parent 
size to 320x240px</a><br /> 
</li> 
<li><a href="javascript:changeParentSize(600, 400);">Change the parent 
size to 600x400px</a><br /> 
</li> 
<li><a href="javascript:changeParentSize('100%', '475');">Change the 
parent size to 100% x 475px</a><br /> 
</li> 
</ul> 
This adds three links that will each resize the parent container to varying heights and widths. 
3.
Add the following markup just below the previous markup: 
<script language="javascript" type="text/javascript"> 
function changeParentSize(w, h) { 
$("#parentContainerSample").width(w).height(h); 
$("#<%=C1ReportViewer1.ClientID%>").c1reportviewer("refresh"); 
</script> 
This script initializes the resizing links. 
What You've Accomplished 
Run the application and at run time click one of the links to resize the parent container containing the 
C1ReportViewer. Notice that the C1ReportViewer control resizes with the parent container. 
Adding Hyperlinks to Report Documents 
The C1ReportViewer control allows you to include hyperlinks. You can add links that allow users to open Web 
pages or other reports, jump to another location within the same report, change C1ReportViewer appearance, or 
execute custom JavaScript. 
Adding a Link to the Middle of the Document 
Add the following code to the Page_Load event: 
Visual Basic 
' to jump to a render object, an anchor is really not needed: 
Dim rt4 As New RenderText("Click here to go to the middle of document.") 
rt4.Hyperlink = New C1Hyperlink(doc.Body.Children(doc.Body.Children.Count 
/ 2)) 
rt4.Hyperlink.StatusText = "Go to the approximate middle of the document" 
doc.Body.Children.Add(rt4) 
C# 
// to jump to a render object, an anchor is really not needed: 
RenderText rt4 = new RenderText("Click here to go to the middle of 
document."); 
rt4.Hyperlink = new C1Hyperlink(doc.Body.Children[doc.Body.Children.Count 
/ 2]); 
rt4.Hyperlink.StatusText = "Go to the approximate middle of the document"; 
Change page order pdf - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
how to reorder pages in pdf; pdf reverse page order preview
Change page order pdf - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
how to move pages around in pdf; how to move pages in a pdf document
28  
doc.Body.Children.Add(rt4); 
This code above adds a link to the middle of the document. 
Adding a Hyperlink to an Anchor 
Add the following code to the Page_Load event: 
Visual Basic 
' make an anchor 
Dim rt1 As New RenderText("This is text with anchor1.") 
' the name ("anchor1") will be used to jump to this link: 
rt1.Anchors.Add(New C1Anchor("anchor1")) 
rt1.Hyperlink = New C1Hyperlink(New 
C1LinkTargetPage(PageJumpTypeEnum.Last), "Go to the last page of the 
document") 
doc.Body.Children.Add(rt1) 
' add hyperlink to anchor1 
Dim rt2 As New RenderText("Click here to go to anchor1.") 
rt2.Hyperlink = New C1Hyperlink(New C1LinkTargetAnchor("anchor1"), "This 
is status text when the mouse hovers over link to anchor1") 
doc.Body.Children.Add(rt2) 
C# 
// make an anchor 
RenderText rt1 = new RenderText("This is text with anchor1."); 
// the name ("anchor1") will be used to jump to this link: 
rt1.Anchors.Add(new C1Anchor("anchor1")); 
rt1.Hyperlink = new C1Hyperlink(new 
C1LinkTargetPage(PageJumpTypeEnum.Last), "Go to the last page of the 
document"); 
doc.Body.Children.Add(rt1); 
// add hyperlink to anchor1 
RenderText rt2 = new RenderText("Click here to go to anchor1."); 
rt2.Hyperlink = new C1Hyperlink(new C1LinkTargetAnchor("anchor1"), 
"This is status text when the mouse hovers over link to anchor1"); 
doc.Body.Children.Add(rt2); 
This code adds an anchor and then a hyperlink to the anchor. 
Adding a Hyperlinked Image 
Add the following code to the Page_Load event: 
Visual Basic 
' add image with hyperlink to a URL 
Dim ri1 As New 
RenderImage(Image.FromFile(HttpContext.Current.Server.MapPath("~/C1ReportV
iewer/Images/google.gif"))) 
ri1.Hyperlink = New C1Hyperlink(New 
C1LinkTargetFile("http://www.google.com"), " Go googling... (Use 
Ctrl+Click in order to open link in a new window") 
doc.Body.Children.Add(ri1) 
C# 
// add image with hyperlink to a URL 
RenderImage ri1 = new 
RenderImage(Image.FromFile(HttpContext.Current.Server.MapPath("~/C1ReportV
iewer/Images/google.gif"))); 
VB.NET Word: Change Word Page Order & Sort Word Document Pages
Note: if you are trying to change the order of a you want to see other VB.NET Word document editing controls, please read this Word reading page which has
change pdf page order preview; how to move pages within a pdf
C# Word - Process Word Document in C#
various Word document processing implementations using C# demo codes, such as add or delete Word document page, change Word document pages order, merge or
how to move pages in pdf files; change pdf page order online
29 
ri1.Hyperlink = new C1Hyperlink(new 
C1LinkTargetFile("http://www.google.com"), " Go googling... (Use 
Ctrl+Click in order to open link in a new window"); 
doc.Body.Children.Add(ri1); 
This code above adds an image that is linked to an external site. 
Executing a Custom JavaScript Action 
Add the following code to the Page_Load event: 
Visual Basic 
Dim rt5 As New RenderText("alert 'Hello'.") 
rt5.Hyperlink = New C1Hyperlink(New 
C1LinkTargetFile("javascript:alert('Hello')")) 
rt5.Hyperlink.StatusText = "Show 'Hello' message." 
doc.Body.Children.Add(rt5) 
C# 
RenderText rt5 = new RenderText("alert 'Hello'."); 
rt5.Hyperlink = new C1Hyperlink(new 
C1LinkTargetFile("javascript:alert('Hello')")); 
rt5.Hyperlink.StatusText = "Show 'Hello' message."; 
doc.Body.Children.Add(rt5); 
This code above adds a link to an alert dialog box. 
Opening a Print Preview Dialog Box 
Add the following code to the Page_Load event: 
Visual Basic 
Dim rt6 As New RenderText("printWithPreview") 
rt6.Hyperlink = New C1Hyperlink(New 
C1LinkTargetFile("exec:printWithPreview()")) 
rt6.Hyperlink.StatusText = "Preview and print report." 
doc.Body.Children.Add(rt6) 
C# 
RenderText rt6 = new RenderText("printWithPreview"); 
rt6.Hyperlink = new C1Hyperlink(new 
C1LinkTargetFile("exec:printWithPreview()")); 
rt6.Hyperlink.StatusText = "Preview and print report."; 
doc.Body.Children.Add(rt6); 
This code above adds a link to a print preview dialog box. 
Opening Hyperlinks in a New Window 
By default, when clicked links set with the LinkTarget property of C1ReportViewer open in the same browser 
window. However, you may choose to have links open in a new window. In order to override the default behavior, 
you'll need to write custom script for the hyperlinks included in your report. These hyperlinks can be created 
explicitly and can be added in the body of the report's document.  
For example, add the following code: 
Visual Basic 
Dim rt2 As New RenderText("execute custom script.") 
rt2.Hyperlink = New C1Hyperlink(New 
C1LinkTargetFile("javascript:openPage('http://google.com/')")) 
doc.Body.Children.Add(rt2) 
C# 
RenderText rt2 = new RenderText("execute custom script."); 
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Jpeg to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. C# File: Split PDF; C# Page: Insert PDF pages; C#
reorder pdf pages in preview; how to move pages in a pdf file
C# PowerPoint - Sort PowerPoint Pages Order in C#.NET
control, developers can swap or adjust the order of all or several PowerPoint document pages, or just change the position of certain one PowerPoint page in an
reorder pdf page; change pdf page order reader
30  
rt2.Hyperlink = new C1Hyperlink(new 
C1LinkTargetFile("javascript:openPage('http://google.com/')")); 
doc.Body.Children.Add(rt2); 
The above code uses a method called openPage which is defined in JavaScript as follows: 
<script type="text/javascript"> 
function openPage(url){ 
window.open(url, "mywindow"); 
</script> 
This method tells the C1ReportViewer that the target should open in a new browser window. Instead of creating 
new hyperlink, you can also directly set the LinkTarget property to the desired link with the code below: 
Visual Basic 
Protected Function MakeDoc() As C1PrintDocument 
Dim doc As New C1PrintDocument() 
Dim report As C1Report = C1ReportViewer.CreateC1Report() 
report.Load(Server.MapPath("~/XML/CommonTasks.xml"), "01: Alternating 
Background (Greenbar report)") 
report.Render() 
report.Sections("Detail").Fields("QuantityPerUnitCtl").LinkTarget = 
"javascript:openPage('http://google.com/')" 
doc = report.C1Document 
Return doc 
End Function 
C# 
protected C1PrintDocument MakeDoc() 
C1PrintDocument doc = new C1PrintDocument(); 
C1Report report = C1ReportViewer.CreateC1Report(); 
report.Load(Server.MapPath("~/XML/CommonTasks.xml"), "01: Alternating 
Background (Greenbar report)"); 
report.Render(); 
report.Sections["Detail"].Fields["QuantityPerUnitCtl"].LinkTarget = 
"javascript:openPage('http://google.com/')"; 
doc = report.C1Document; 
return doc; 
This script initializes the resizing links. 
Adding Dynamic Reports to ReportViewer 
Dynamic reports can be created at run time. You can register dynamic report document from code-behind by using 
the static RegisterDocument method. The RegisterDocument method accepts two parameters: the first parameter 
is the name of the dynamic report document; the second parameter is a delegate, which will be called in order to 
generate report documents. Note:  You can register several dynamic reports under different names and switch 
between these reports by changing the FileName property on the server side or the client side. 
The following example shows how to register and display the dynamic report document. Complete the following 
steps: 
1.
In Source view, edit the <wijmo:C1ReportViewer> markup so it appears like the following: 
C# Word - Sort Word Pages Order in C#.NET
library control, developers can swap or adjust the order of all or several Word document pages, or just change the position of certain one Word page in an
reorder pdf pages online; reorder pages in pdf online
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
VB.NET PDF - How to Modify PDF Document Page in VB.NET. VB.NET Guide for Processing PDF Document Page and Sorting PDF Pages Order.
how to reverse pages in pdf; reorder pages in pdf document
31 
<wijmo:C1ReportViewer runat="server" ID="C1ReportViewer1" 
FileName="InMemoryBasicTable" Zoom="75%" Height="475px" Width="100%"> 
</wijmo:C1ReportViewer> 
2.
Switch to Code view and add the following code to the Page_Load event so it appears like the following: 
Visual Basic 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Me.Load 
C1ReportViewer.RegisterDocument("InMemoryBasicTable", AddressOf 
BasicTable.MakeDoc) 
End Sub 
C# 
protected void Page_Load(object sender, EventArgs e) 
C1ReportViewer.RegisterDocument("InMemoryBasicTable", 
BasicTable.MakeDoc); 
3.
Add the following code just below the main class: 
Visual Basic 
''' <summary> 
''' BasicTable in-memory document. 
''' </summary> 
Public Class BasicTable 
Public Shared Function MakeDoc() As C1PrintDocument 
Dim doc As C1PrintDocument = 
C1ReportViewer.CreateC1PrintDocument() 
Dim rtxt1 As New RenderText(doc) 
rtxt1.Text = "This test shows the basic features of tables in 
C1PrintDocument:" & vbLf & vbTab & "- table borders (the GridLines 
style property, which allows to specify 4 outer and 2 inner lines);" & 
vbLf & vbTab & "- borders around individual cells and groups of cells;" 
& vbLf & vbTab & "- style attributes (including borders) for groups of 
disconnected cells;" & vbLf & vbTab & "- cells spanning rows and 
columns;" & vbLf & vbTab & "- content alignment within the cells 
(spanned or otherwise);" & vbLf & vbTab & "- table headers and 
footers;" & vbLf & vbTab & "- tags (such as page number/total page 
count) anywhere in the document (see the table footer);" & vbLf & vbTab 
& "- different style attributes including borders, font and background 
images." & vbLf & vbTab & "  " & vbLf 
rtxt1.Style.Font = New Font(rtxt1.Style.Font.FontFamily, 14) 
rtxt1.Style.Padding.Bottom = New C1.C1Preview.Unit("5mm") 
doc.Body.Children.Add(rtxt1) 
' make a table and fill all its cells with some demo data 
Dim rt1 As New RenderTable(doc) 
Const  ROWS As Integer = 100 
Const  COLS As Integer = 4 
For row As Integer = 0 To ROWS - 1 
For col As Integer = 0 To COLS - 1 
Dim celltext As New RenderText(doc) 
celltext.Text = String.Format("Cell ({0},{1})", row, col) 
' Note that rt1.Cells[row, col] will create cells on demand 
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
C# users to reorder and rearrange multi-page Tiff file Tiff image management library, you can easily change and move pages or make a totally new order for all
how to move pages around in pdf file; reordering pages in pdf
VB.NET PDF Password Library: add, remove, edit PDF file password
On this page, we will illustrate how to protect PDF document via Change PDF original password. In order to run the sample code, the following steps would be
rearrange pages in pdf document; how to change page order in pdf acrobat
32  
' no need to specify the number of rows/cols initially. 
rt1.Cells(row, col).RenderObject = celltext 
Next 
Next 
' add the table to the document 
doc.Body.Children.Add(rt1) 
' unlike the old print-doc, in the new one changes can be made 
at any 
' point in the program, and they will be reflected in the 
document when 
' it is rendered. Add some customizations to the table: 
' by default, tables have no borders. add a simple border: 
rt1.Style.GridLines.All = New LineDef("2pt", Color.DarkGray) 
rt1.Style.GridLines.Horz = New LineDef("1pt", Color.Blue) 
rt1.Style.GridLines.Vert = New LineDef("1pt", Color.Brown) 
' table headers and footers 
' add a table header: 
' setup the header as a whole 
rt1.RowGroups(0, 2).PageHeader = True 
rt1.RowGroups(0, 2).Style.BackColor = Color.DarkOrchid 
' multiple inheritance supported in styles: the text color from 
the 
' group's style will merge with the font from the cell's own 
style: 
rt1.RowGroups(0, 2).Style.TextColor = Color.LemonChiffon 
rt1.RowGroups(0, 2).Style.GridLines.All = New LineDef("2pt", 
Color.DarkCyan) 
rt1.RowGroups(0, 2).Style.GridLines.Horz = LineDef.Empty 
rt1.RowGroups(0, 2).Style.GridLines.Vert = LineDef.Empty 
' setup specific cells in the header: 
DirectCast(rt1.Cells(0, 0).RenderObject, RenderText).Text = 
"Header row 0" 
DirectCast(rt1.Cells(1, 0).RenderObject, RenderText).Text = 
"Header row 1" 
rt1.Cells(0, 1).SpanCols = 2 
rt1.Cells(0, 1).SpanRows = 2 
rt1.Cells(0, 1).RenderObject = New RenderText(doc) 
DirectCast(rt1.Cells(0, 1).RenderObject, RenderText).Text = 
"Multi-row table headers and footers are supported" 
rt1.Cells(0, 1).Style.TextAlignHorz = AlignHorzEnum.Center 
rt1.Cells(0, 1).Style.Font = New Font("Arial", 14, 
FontStyle.Bold) 
' setup a table footer 
rt1.RowGroups(rt1.Rows.Count - 2, 2).PageFooter = True 
rt1.RowGroups(rt1.Rows.Count - 2, 2).Style.BackColor = 
Color.LemonChiffon 
rt1.Cells(rt1.Rows.Count - 2, 0).SpanRows = 2 
rt1.Cells(rt1.Rows.Count - 2, 0).SpanCols = rt1.Cols.Count - 1 
33 
rt1.Cells(rt1.Rows.Count - 2, 0).Style.TextAlignHorz = 
AlignHorzEnum.Center 
rt1.Cells(rt1.Rows.Count - 2, 0).Style.TextAlignVert = 
AlignVertEnum.Center 
DirectCast(rt1.Cells(rt1.Rows.Count - 2, 0).RenderObject, 
RenderText).Text = "This is a table footer." 
rt1.Cells(rt1.Rows.Count - 2, 3).SpanRows = 2 
rt1.Cells(rt1.Rows.Count - 2, 3).Style.TextAlignHorz = 
AlignHorzEnum.Right 
' tags (such as page no/page count) can be inserted anywhere in 
the document 
DirectCast(rt1.Cells(rt1.Rows.Count - 2, 3).RenderObject, 
RenderText).Text = "Page [PageNo] of [PageCount]" 
' in tables, Style.Borders merges seamlessly into the table 
grid lines: 
' it is easy to put a border around specific cells: 
rt1.Cells(8, 3).Style.Borders.All = New LineDef("3pt", 
Color.OrangeRed) 
DirectCast(rt1.Cells(8, 3).RenderObject, RenderText).Text = "It 
is easy to put a border around a single cell using cell.Style.Borders" 
' cells can be combined into groups, and their styles can be 
manipulated as 
' a single entity: 
' define a group of cells by specifying the rectangles bounding 
the cells: 
DirectCast(rt1.Cells(3, 2).RenderObject, RenderText).Text = 
"Cells can be combined into groups to be manipulated as a single entity 
" & "(such as all cells with the pale green background in this table)." 
rt1.Cells(3, 2).SpanCols = 2 
rt1.Cells(3, 2).SpanRows = 3 
Dim cells1 As Rectangle() = New Rectangle() {New Rectangle(2, 
3, 2, 3), New Rectangle(0, 10, 3, 2), New Rectangle(1, 23, 2, 4), New 
Rectangle(1, 36, 1, 24), New Rectangle(0, 72, 3, 6)} 
Dim grp1 As New UserCellGroup(cells1) 
grp1.Style.BackColor = Color.PaleGreen 
grp1.Style.Font = New Font("Arial", 12, FontStyle.Bold) 
grp1.Style.Borders.All = New LineDef("2pt", Color.DarkGreen) 
rt1.UserCellGroups.Add(grp1) 
' row/col span 
DirectCast(rt1.Cells(14, 1).RenderObject, RenderText).Text = 
"Column and row spans are fully supported, as well as alignment within 
the (spanned or not) cells." 
rt1.Cells(14, 1).SpanCols = 3 
rt1.Cells(14, 1).SpanRows = 5 
rt1.Cells(14, 1).Style.Font = New Font("Arial", 12, 
FontStyle.Bold Or FontStyle.Italic) 
rt1.Cells(14, 1).Style.Borders.All = New LineDef("2pt", 
Color.DarkOrange) 
rt1.Cells(14, 1).Style.TextAlignHorz = AlignHorzEnum.Center 
34  
rt1.Cells(14, 1).Style.TextAlignVert = AlignVertEnum.Center 
rt1.RowGroups(14, 5).SplitBehavior = SplitBehaviorEnum.Never 
Return doc 
End Function 
End Class 
C# 
/// <summary> 
/// BasicTable in-memory document. 
/// </summary> 
public class BasicTable 
static public C1PrintDocument MakeDoc() 
C1PrintDocument doc = C1ReportViewer.CreateC1PrintDocument(); 
RenderText rtxt1 = new RenderText(doc); 
rtxt1.Text = "This test shows the basic features of tables in 
C1PrintDocument:\n" 
+ "\t- table borders (the GridLines style property, which 
allows to specify 4 outer and 2 inner lines);\n" 
+ "\t- borders around individual cells and groups of cells;\n" 
+ "\t- style attributes (including borders) for groups of 
disconnected cells;\n" 
+ "\t- cells spanning rows and columns;\n" 
+ "\t- content alignment within the cells (spanned or 
otherwise);\n" 
+ "\t- table headers and footers;\n" 
+ "\t- tags (such as page number/total page count) anywhere in 
the document (see the table footer);\n" 
+ "\t- different style attributes including borders, font and 
background images.\n" 
+ "\t  \n" 
rtxt1.Style.Font = new Font(rtxt1.Style.Font.FontFamily, 14); 
rtxt1.Style.Padding.Bottom = new C1.C1Preview.Unit("5mm"); 
doc.Body.Children.Add(rtxt1); 
// 
// make a table and fill all its cells with some demo data 
RenderTable rt1 = new RenderTable(doc); 
const int ROWS = 100; 
const int COLS = 4; 
for (int row = 0; row < ROWS; ++row) 
for (int col = 0; col < COLS; ++col) 
RenderText celltext = new RenderText(doc); 
celltext.Text = string.Format("Cell ({0},{1})", row, col); 
// Note that rt1.Cells[row, col] will create cells on 
demand - 
// no need to specify the number of rows/cols initially. 
rt1.Cells[row, col].RenderObject = celltext; 
// add the table to the document 
35 
doc.Body.Children.Add(rt1); 
// 
// unlike the old print-doc, in the new one changes can be made 
at any 
// point in the program, and they will be reflected in the 
document when 
// it is rendered. Add some customizations to the table: 
// 
// by default, tables have no borders. add a simple border: 
rt1.Style.GridLines.All = new LineDef("2pt", Color.DarkGray); 
rt1.Style.GridLines.Horz = new LineDef("1pt", Color.Blue); 
rt1.Style.GridLines.Vert = new LineDef("1pt", Color.Brown); 
// 
// table headers and footers 
// add a table header: 
// setup the header as a whole 
rt1.RowGroups[0, 2].PageHeader = true; 
rt1.RowGroups[0, 2].Style.BackColor = Color.DarkOrchid; 
// multiple inheritance supported in styles: the text color 
from the 
// group's style will merge with the font from the cell's own 
style: 
rt1.RowGroups[0, 2].Style.TextColor = Color.LemonChiffon; 
rt1.RowGroups[0, 2].Style.GridLines.All = new LineDef("2pt", 
Color.DarkCyan); 
rt1.RowGroups[0, 2].Style.GridLines.Horz = LineDef.Empty; 
rt1.RowGroups[0, 2].Style.GridLines.Vert = LineDef.Empty; 
// setup specific cells in the header: 
((RenderText)rt1.Cells[0, 0].RenderObject).Text = "Header row 
0"; 
((RenderText)rt1.Cells[1, 0].RenderObject).Text = "Header row 
1"; 
rt1.Cells[0, 1].SpanCols = 2; 
rt1.Cells[0, 1].SpanRows = 2; 
rt1.Cells[0, 1].RenderObject = new RenderText(doc); 
((RenderText)rt1.Cells[0, 1].RenderObject).Text = "Multi-row 
table headers and footers are supported"; 
rt1.Cells[0, 1].Style.TextAlignHorz = AlignHorzEnum.Center; 
rt1.Cells[0, 1].Style.Font = new Font("Arial", 14, 
FontStyle.Bold); 
// setup a table footer 
rt1.RowGroups[rt1.Rows.Count - 2, 2].PageFooter = true; 
rt1.RowGroups[rt1.Rows.Count - 2, 2].Style.BackColor = 
Color.LemonChiffon; 
rt1.Cells[rt1.Rows.Count - 2, 0].SpanRows = 2; 
rt1.Cells[rt1.Rows.Count - 2, 0].SpanCols = rt1.Cols.Count - 1; 
rt1.Cells[rt1.Rows.Count - 2, 0].Style.TextAlignHorz = 
AlignHorzEnum.Center; 
rt1.Cells[rt1.Rows.Count - 2, 0].Style.TextAlignVert = 
AlignVertEnum.Center; 
((RenderText)rt1.Cells[rt1.Rows.Count - 2, 
0].RenderObject).Text = "This is a table footer."; 
36  
rt1.Cells[rt1.Rows.Count - 2, 3].SpanRows = 2; 
rt1.Cells[rt1.Rows.Count - 2, 3].Style.TextAlignHorz = 
AlignHorzEnum.Right; 
// tags (such as page no/page count) can be inserted anywhere 
in the document 
((RenderText)rt1.Cells[rt1.Rows.Count - 2, 
3].RenderObject).Text = "Page [PageNo] of [PageCount]"; 
// 
// in tables, Style.Borders merges seamlessly into the table 
grid lines: 
// it is easy to put a border around specific cells: 
rt1.Cells[8, 3].Style.Borders.All = new LineDef("3pt", 
Color.OrangeRed); 
((RenderText)rt1.Cells[8, 3].RenderObject).Text = 
"It is easy to put a border around a single cell using 
cell.Style.Borders"; 
// 
// cells can be combined into groups, and their styles can be 
manipulated as 
// a single entity: 
// define a group of cells by specifying the rectangles 
bounding the cells: 
((RenderText)rt1.Cells[3, 2].RenderObject).Text = 
"Cells can be combined into groups to be manipulated as a 
single entity " + 
"(such as all cells with the pale green background in this 
table)."; 
rt1.Cells[3, 2].SpanCols = 2; 
rt1.Cells[3, 2].SpanRows = 3; 
Rectangle[] cells1 = new Rectangle[] { 
new Rectangle(2, 3, 2, 3), 
new Rectangle(0, 10, 3, 2), 
new Rectangle(1, 23, 2, 4), 
new Rectangle(1, 36, 1, 24), 
new Rectangle(0, 72, 3, 6), 
}; 
UserCellGroup grp1 = new UserCellGroup(cells1); 
grp1.Style.BackColor = Color.PaleGreen; 
grp1.Style.Font = new Font("Arial", 12, FontStyle.Bold); 
grp1.Style.Borders.All = new LineDef("2pt", Color.DarkGreen); 
rt1.UserCellGroups.Add(grp1); 
// row/col span 
((RenderText)rt1.Cells[14, 1].RenderObject).Text = 
"Column and row spans are fully supported, as well as alignment 
within the (spanned or not) cells."; 
rt1.Cells[14, 1].SpanCols = 3; 
rt1.Cells[14, 1].SpanRows = 5; 
rt1.Cells[14, 1].Style.Font = new Font("Arial", 12, 
FontStyle.Bold | FontStyle.Italic); 
rt1.Cells[14, 1].Style.Borders.All = new LineDef("2pt", 
Color.DarkOrange); 
Documents you may be interested
Documents you may be interested