c# pdf reader using : Delete pages in pdf reader application SDK utility azure wpf asp.net visual studio telerik_ui_for_winforms_courseware55-part848

8. We need to initialize our ContactTable variable, by adding the following lines of code to the form's Load 
event handler.
The "ContactTable" generic list is loaded with yet other generic lists that each contain four empty strings. 
 The four empty strings will be loaded later with the four columns worth of contact data. 
9. Add the code to set up the data columns and rows, size the columns, and start the timer. Add the 
following lines to the end of the Form’s Load handler to finish setting up the grid for Virtual Mode and start 
the timer.
The grid and master table view properties could also easily be set within the Property Builder or the 
Properties Window.
[VB] Initialize "ContactTable"
Private Sub RadGridViewLab8_Load(ByVal sender As ObjectByVal e As EventArgs) 
Handles MyBase.Load
' . . .
For i As Integer = 0 To NumberOfRows - 1
Dim list As List(Of String) = New List(Of String)(New String() {String.Empty, 
String.Empty, String.Empty, String.Empty})
ContactTable.Add(list)
Next i
'. . .
[C#] Initialize "ContactTable"
private void RadGridViewLab8_Load(object sender, EventArgs e)
{
this.contactTableAdapter.Fill(this.adventureWorksDataSet.Contact);
// . . .
for (int i = 0; i < NumberOfRows; i++)
ContactTable.Add(new List<string> { string.Empty, string.Empty, string.Empty,
string.Empty });
//. . .
}
[VB] Setup Columns/Rows and Start Timer
Private Sub RadGridViewLab8_Load(ByVal sender As ObjectByVal e As EventArgs)
'. . .
radGridView1.VirtualMode = True
radGridView1.ColumnCount = NumberOfCols
radGridView1.Columns(0).HeaderText = "First Name"
radGridView1.Columns(1).HeaderText = "Last Name"
radGridView1.Columns(2).HeaderText = "Email"
radGridView1.Columns(3).HeaderText = "Phone Number"
radGridView1.RowCount = NumberOfRows
radGridView1.MasterGridViewTemplate.AutoSizeColumnsMode = 
Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill
timer1.Start()
End Sub
[C#] Setup Columns/Rows and Start Timer
private void RadGridViewLab8_Load(object sender, EventArgs e)
{
//. . .
radGridView1.VirtualMode = true;
RadControls for Winforms
543
RadControls for Winforms
Delete pages in pdf reader - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete a page from a pdf without acrobat; delete a page in a pdf file
Delete pages in pdf reader - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
best pdf editor delete pages; delete pages from a pdf file
10. Back in the design view of the form, double-click the Timer component to create a Tick event handler. Add 
the code below to refresh the table and trigger the grid update. The call to Update() notifies the grid that 
the data has changed by passing the BatchDataChanged value.
11. The call to GridElement.Update() in the previous step will precipitate a CellValueNeeded event. Back in 
the design view of the form, select the grid and in the Events tab ( ) of the Properties window, double-
click the CellValueNeeded event to create an event handler and add the code below. 
The code supplies the cell value from the ContactTable using the row and column index passed in the 
GridViewCellValueEventArgs parameter.
radGridView1.ColumnCount = NumberOfCols;
radGridView1.Columns[0].HeaderText = "First Name";
radGridView1.Columns[1].HeaderText = "Last Name";
radGridView1.Columns[2].HeaderText = "Email";
radGridView1.Columns[3].HeaderText = "Phone Number";
radGridView1.RowCount = NumberOfRows;
radGridView1.MasterGridViewTemplate.AutoSizeColumnsMode = 
Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
timer1.Start();
}
The number of rows and columns must be explicitly set when using Virtual Mode so that the control 
can request the correct cells from the CellValueNeeded handler.
[VB] Handling the Tick Event
Private Sub timer1_Tick(ByVal sender As ObjectByVal e As EventArgs)
' reload the contact table
RefreshContactData()
' signal that the grid should be updated
radGridView1.GridElement.Update
(Telerik.WinControls.UI.GridUINotifyAction.BatchDataChanged)
End Sub
[C#] Handling the Tick Event
private void timer1_Tick(object sender, EventArgs e)
{
// reload the contact table
RefreshContactData();
// signal that the grid should be updated
radGridView1.GridElement.Update
(Telerik.WinControls.UI.GridUINotifyAction.BatchDataChanged);
}
[VB] Handling the CellValueNeeded Event
Private Sub radGridView1_CellValueNeeded_1(ByVal sender As ObjectByVal e As
Telerik.WinControls.UI.GridViewCellValueEventArgs)
e.Value = ContactTable(e.RowIndex)(e.ColumnIndex)
End Sub
[C#] Handling the CellValueNeeded Event
private void radGridView1_CellValueNeeded_1(object sender, 
Telerik.WinControls.UI.GridViewCellValueEventArgs e)
{
e.Value = ContactTable[e.RowIndex][e.ColumnIndex];
RadControls for Winforms
544
RadControls for Winforms
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
VB.NET Page: Insert PDF pages; VB.NET Page: Delete PDF pages; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word for XImage.OCR for C#; XImage.Barcode Reader for C#
delete page from pdf file online; delete page pdf acrobat reader
C# PDF Page Insert Library: insert pages into PDF file in C#.net
how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to reorganize PDF document pages and how
delete page numbers in pdf; delete page from pdf online
12. Run the project to see the data updating automatically as the grid runs in Virtual Mode.
.
Using the Dynamic LINQ Query Library, the RadGridView control can implement dynamic paging, sorting, and 
filtering to millions of records, allowing unmatched performance because the record manipulation is done by 
dynamically created LINQ queries performed on the database itself.
For this lab, we will be using the Dynamic.cs class, which can be downloaded along with the CS code samples 
here: Visual Studio 2008 Samples (http://msdn.microsoft.com/en-us/bb330936.aspx)
1. Create a new Windows Forms Project. 
2. Add the Dynamic.cs file to the project directory, and use the Project | Add | Add Existing Item option to 
add to the project as well. This class will add the LINQ extensions we will be using to build our dynamic 
LINQ queries. 
3. Use the Project | Add | Add New Item option to add a LINQ to SQL Data Class to the project. Name the 
class SalesOrderHeaderDataClass.dbml. This class will be the basis for our LINQ dynamic queries.
}
If you have allowed column re-ordering at runtime, changes to the column order will need to be 
compensated for in this handler.
19.12 Using RadGridView with Dynamic LINQ Query Library
You can find the complete source for this project at:
\VS Projects\Grid\<VB|CS>\RadGridView\10_DynamicLINQLibrary
RadControls for Winforms
545
RadControls for Winforms
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Page: Insert PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Add and Insert Multiple PDF Pages to PDF Document Using VB.
copy pages from pdf to another pdf; cut pages from pdf
VB.NET PDF delete text library: delete, remove text from PDF file
Visual Studio .NET application. Delete text from PDF file in preview without adobe PDF reader component installed. Able to pull text
delete blank page from pdf; delete pdf pages online
4. Next we will add the data connection to our LINQ to SQL class. While in the design view for the 
SalesOrderHeaderDataClass, expand the Server Explorer window of Visual Studio to the 
Sales.SalesOrderHeader table of the AdventureWorks database. You may need to open a connection to the 
database to view the tables. Then, drag the SalesOrderHeader table onto the design surface to add the 
table to the class.
Remove all but the following fields from the Table object: SalesOrderID, OrderDate, SubTotal, TaxAmt, 
RadControls for Winforms
546
RadControls for Winforms
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
batch changing PDF page orientation without other PDF reader control. NET, add new PDF page, delete certain PDF page, reorder existing PDF pages and split
delete pages from pdf online; delete pages from pdf acrobat
C# PDF delete text Library: delete, remove text from PDF file in
Delete text from PDF file in preview without adobe PDF reader component installed in ASP.NET. C#.NET PDF: Delete Text from Consecutive PDF Pages.
copy page from pdf; delete pdf pages ipad
Freight, and TotalDue.
5. Now, to set up the user interface of our example, drag a RadGridView control onto the Form, and set the 
following properties of the MasterGridViewTemplate using the Property Builder.
6. Also drag onto the Form the following controls: two ComboBoxes, a NumberUpDown control, a Button, and 
two Labels. Arrange the controls similar to the layout shown below, and name the controls as follows, from 
left to right: cbField, cbSortType, btnSort, and numRecords.
7. To populate the Field combobox, use the Smart Tag to open the Items list editor, and add the following 
Fields:
RadControls for Winforms
547
RadControls for Winforms
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
C:\test1.pdf") Dim pdf2 As PDFDocument = New PDFDocument("C:\test2.pdf") Dim pageindexes = New Integer() {1, 2, 4} Dim pages = pdf.DuplicatePage(pageindexes
delete page pdf file; delete blank pages in pdf online
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
C#.NET PDF Library - Copy and Paste PDF Pages in C#.NET. Easy to C#.NET Sample Code: Copy and Paste PDF Pages Using C#.NET. C# programming
reader extract pages from pdf; delete pages pdf
8. Populate the SortType combobox as well, adding the following items:
9. To add a Click event handler for the Button control, double click the button in design view, and add the 
following code to the new event handler:
[VB] Loading Data Via LINQ
Private Sub btnSort_Click(ByVal sender As ObjectByVal e As EventArgs)
Me.radGridView1.GridElement.BeginUpdate()
Dim queryable As IQueryable = New SalesOrderHeaderDataClassDataContext
().SalesOrderHeaders.AsQueryable()
queryable = queryable.OrderBy([String].Format("{0} {1}", cbField.Text, 
cbSortType.Text))
radGridView1.DataSource = queryable.Take(Convert.ToInt32(numRecords.Value))
Me.radGridView1.GridElement.EndUpdate(True)
End Sub
[C#] Loading Data Via LINQ
private void btnSort_Click(object sender, EventArgs e)
{
this.radGridView1.GridElement.BeginUpdate();
IQueryable queryable = new SalesOrderHeaderDataClassDataContext
().SalesOrderHeaders.AsQueryable();
RadControls for Winforms
548
RadControls for Winforms
This code temporarily disables updating on the grid, then assembles the new query from the options 
selected by the user, and uses the query to retrieve data from the table using the LINQ to SQL data class. 
10. Add a reference to System.Linq.Dynamic in the "Imports" (VB) or "uses" (C#) section of the code.
11. Run the project to view the form. Select a Field and Sort direction from the comboboxes, and set the 
number of records to return. Click the Sort button to view the results, which are retrieved from the 
database using the dynamic query.
Exporting Data
Telerik’s RadGridView control makes for simple data exports to multiple formats including Microsoft Excel and 
Telerik Reports. RadGridView can be exported to Excel using either the ExcelML format, which does not even 
require an Office installation on the machine, or through the Primary Interop Assemblies (PIA).
Exporting to Excel
There are some tradeoffs between the two methods of exporting. Using PIA's you can add a progress event 
handler, but the PIA route appears to be less performant than using ExcelML. When testing you may want to 
reduce the number of records you're working with in the dataset, or use the RadGrid's filters to subset the data. 
The ExcelML export takes advantage of the RadGridView's conditional formatting capability so that formatting 
queryable = queryable.OrderBy(String.Format("{0} {1}",
cbField.Text, cbSortType.Text));
radGridView1.DataSource =
queryable.Take(Convert.ToInt32(numRecords.Value));
this.radGridView1.GridElement.EndUpdate(true);
}
Even though the actual data table is over 30,000 records, the grid is only loading the values retrieved 
by the query, and so maintains high performance even with very large record sets. This same 
technique can be used to implement custom paging and filtering on the RadGridView control.
19.13 Exporting RadGridView Data
 
RadControls for Winforms
549
RadControls for Winforms
in the grid is passed on to the exported spreadsheet.
This lab will demonstrate some of the exporting capabilities of the RadGridView control, some conditional 
formatting, and both types of Excel exporting.
1. Create a new Windows Forms Project. 
2. Drag a RadGridView control onto the form, and also add some additional controls to the top of the form, in 
a layout similar to the one shown below. You can use RadLabel, RadButton and RadTextbox or the standard 
Label, Button and TextBox equivalents.
3. Name the new controls (from left to right): "btnExcelPIA", "btnExcelML", "tbFileName", and "btnExportFile". 
4. Below the grid add a RadStatusStrip control. Using the status strip Smart Tag add a ProgressBarElement and 
a LabelElement. Name them "pbStatus" and "lblStatus" respectively. 
5. Using the Smart Tag on the RadGridView control, add a new project datasource that connects the 
RadGridView to the Person.Contact table of the AdventureWorks database. 
6. Also using the Smart Tag, open the Property Builder of the RadGridView control, and disable viewing of the 
following fields on the Person.Contact table: NameStyle, Title, EmailPromotion, PasswordHash, 
PasswordSalt, AdditionalContactInfo, rowguid, and ModifiedDate. 
7. Set the following properties of the RadGridView control’s MasterGridView Template in the Property 
Builder: 
AllowAddNewRow = False 
EnableFiltering = True 
AutoSizeColumnsMode = Fill 
8. Close the Property Builder, and navigate to the form’s code-behind file. You will need to add the following 
using declarations to the code file, and also add the corresponding .dll references to the project.
9. In Design View, double-click the “Export File” button to add a new click event handler, which will contain 
the code to open a File dialog to set the name and location of the Excel file where the data will be 
exported. Notice we have set the filter to be for Excel files only.
You can find the complete source for this project at:
\VS Projects\Grid\<VB|CS>\RadGridView\11_ExportExcel
[VB] Adding References
Imports Telerik.Data
Imports Telerik.WinControls.UI
Imports Telerik.WinControls.UI.Export 
[C#] Adding References
using Telerik.Data;
using Telerik.WinControls.UI;
using Telerik.WinControls.UI.Export;
[VB] Populating the Export File Textbox
Private Sub btnExportFile_Click(ByVal sender As ObjectByVal e As EventArgs)
' populate the file name textbox using the "save" dialog
RadControls for Winforms
550
RadControls for Winforms
10. Also add event handlers for the ExcelPIA button click. Notice that the RadGridViewExcelExporter object 
from the Telerik.Data namespace allows an optional "Progress" event to be hooked up.
Dim sfd As New SaveFileDialog()
sfd.Filter = [String].Format("{0} (*{1})|*{1}""Excel Files"".xls")
If sfd.ShowDialog() = DialogResult.OK Then
tbFileName.Text = sfd.FileName
End If
End Sub
[C#] Populating the Export File Textbox
private void btnExportFile_Click(object sender, EventArgs e)
{
// populate the file name textbox using the "save" dialog
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = String.Format("{0} (*{1})|*{1}",
"Excel Files",
".xls");
if (sfd.ShowDialog() == DialogResult.OK)
tbFileName.Text = sfd.FileName;
}
The ProgressValue property available from the ProgressEventArgs passed into the event contains an 
integer with the percentage of completion. For example, if the grid has 4 records, the first time the 
Progress event is fired, ProgressValue will be "25" (i.e. 25%).
To get the number of records being exported, use the current GridViewTemplate's RowCount 
property. Unlike attempting to use the table's Row.Count, this will take grid filtering into account. In 
the example below we're using the grid's MasterGridViewTemplate.RowCount.
[VB] Handle the Click Event for the PIA Export
Private Sub btnExcelPIA_Click(ByVal sender As ObjectByVal e As EventArgs)
If Not tbFileName.Text.Equals(String.Empty) Then
Dim exporter As New RadGridViewExcelExporter()
' assign a progress handling event that will update the status bar
AddHandler exporter.Progress, AddressOf exporter_Progress
' set the progress bar max to the number of rows in the dataset
pbStatus.Maximum = radGridView1.MasterGridViewTemplate.RowCount + 1
' trigger the export
exporter.Export(radGridView1, tbFileName.Text, "Sheet1")
MessageBox.Show("Export Complete!")
' reset the progress bar and label
pbStatus.Value1 = 0
lblStatus.Text = [String].Empty
End If
End Sub
Sub exporter_Progress(ByVal sender As ObjectByVal e As ProgressEventArgs)
Dim rows As Integer = radGridView1.MasterGridViewTemplate.RowCount
pbStatus.Value1 = DirectCast(((e.ProgressValue * 0.01) * rows), Integer)
' show the number or records processed and progress bar
lblStatus.Text = [String].Format("{0} of {1}", pbStatus.Value1, rows)
End Sub
[C#] Handle the Click Event for the PIA Export
private void btnExcelPIA_Click(object sender, EventArgs e)
{
if (!tbFileName.Text.Equals(string.Empty))
RadControls for Winforms
551
RadControls for Winforms
11. Handle the click for the ExcelML export button. This export uses the ExportToExcelML object from the 
Telerik.WinControls.UI.Export namespace. Notice that for the ExcelML exporting, we are adding a 
conditional format object to the Phone field of the table, where those numbers starting with the digits 396 
will be highlighted in a yellow color.
{
RadGridViewExcelExporter exporter = new RadGridViewExcelExporter();
// assign a progress handling event that will update the status bar
exporter.Progress += new ProgressHandler(exporter_Progress);
// set the progress bar max to the number of rows in the dataset
pbStatus.Maximum = radGridView1.MasterGridViewTemplate.RowCount + 1;
// trigger the export
exporter.Export(radGridView1, tbFileName.Text, "Sheet1");
MessageBox.Show("Export Complete!");
// reset the progress bar and label
pbStatus.Value1 = 0;
lblStatus.Text = String.Empty;
}
}
void exporter_Progress(object sender, ProgressEventArgs e)
{
int rows = radGridView1.MasterGridViewTemplate.RowCount;
pbStatus.Value1 = (int)((e.ProgressValue * .01) * rows);
// show the number or records processed and progress bar
lblStatus.Text = String.Format("{0} of {1}",
pbStatus.Value1, rows);
}
[VB] Handle the Click Event for the ExcelML Export
Private Sub btnExcelML_Click(ByVal sender As ObjectByVal e As EventArgs)
If Not tbFileName.Text.Equals(String.Empty) Then
' configure conditional formatting where rows with phone numbers starting with 
"396" are shaded yellow
Dim cfo As New ConditionalFormattingObject("MyConditionalFormatting"
ConditionTypes.StartsWith, "396"""True)
cfo.RowBackColor = Color.Yellow
radGridView1.Columns("Phone").ConditionalFormattingObjectList.Add(cfo)
' create and trigger the export
Dim exporter As New ExportToExcelML()
exporter.RunExport(radGridView1, tbFileName.Text, 
ExportToExcelML.ExcelMaxRows._65536, True)
MessageBox.Show("Export Complete!")
End If
End Sub
[C#] Handle the Click Event for the ExcelML Export
private void btnExcelML_Click(object sender, EventArgs e)
{
if (!tbFileName.Text.Equals(string.Empty))
{
// configure conditional formatting where rows with phone numbers starting with 
"396" are shaded yellow
ConditionalFormattingObject cfo = new ConditionalFormattingObject
("MyConditionalFormatting",
ConditionTypes.StartsWith, "396""", true);
cfo.RowBackColor = Color.Yellow;
radGridView1.Columns["Phone"].ConditionalFormattingObjectList.Add(cfo);
RadControls for Winforms
552
RadControls for Winforms
Documents you may be interested
Documents you may be interested