view pdf winform c# : Add hyperlink to pdf online software control cloud windows web page winforms class TMS%20TAdvStringGrid%20Developers%20Guide3-part151

TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
31 | Page 
button was pressed. 
TSpinClickEvent = procedure(Sender:TObject;ACol,ARow, 
AValue: Integer; UpDown: Boolean) of object; 
Note: by default, spin editor up/down buttons are visible when the inplace editor is active, ie. for 
only one spin editor at a time. If it is desirable that spin editor buttons are continuously visible, this 
can be enabled by setting : grid.ControlLook.SpinButtonsAlwaysVisible = true. 
Combobox editors 
Two types of comboboxes can be used: an editable combobox and not-editable combobox. While 
the inplace combobox is exposed by grid.Combobox, additional methods are defined to control the 
items displayed in the combobox dropdown list and selected item: 
procedure ClearComboString; 
Removes all items from the inplace combobox editor. 
procedure AddComboString(const s: string); 
Adds a single item to the inplace combobox editor. 
procedure AddComboStringObject(const s: string; AObject: TObject); 
Adds a string + object to the inplace combobox editor. 
function RemoveComboString(const s: string): Boolean; 
Removes a single string value from the inplace combobox editor. 
function SetComboSelectionString(const s: string): Boolean; 
Sets the selected item of the combobox by string value. 
procedure SetComboSelection(idx: Integer); 
Sets the selected item of the combobox by index. 
function GetComboCount: Integer; 
Returns the number of items in the combobox. 
Through these methods, combobox items can be preset in different ways for different cells.  
Example: presetting combobox items for different columns 
Add hyperlink to pdf online - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
add links to pdf online; pdf email link
Add hyperlink to pdf online - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
add hyperlink pdf file; add hyperlink pdf document
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
32 | Page 
In this example, an editable combobox is set for column1 with values Berlin,Paris,London,New York 
and in the second column a non-editable combobox with countries is used. The OnGetEditorProp 
event is used to set the values of the combobox while the OnGetEditorType event is used to set the 
editor type itself: 
procedure TForm1.gridGetEditorProp(Sender: TObject; ACol, 
ARow: Integer; AEditLink: TEditLink); 
begin 
case ACol of 
1:begin 
grid.ClearComboString; 
grid.AddComboString('Berlin'); 
grid.AddComboString('Paris'); 
grid.AddComboString('London'); 
grid.AddComboString('New York'); 
end; 
2:begin 
grid.ClearComboString; 
grid.AddComboString('Germany'); 
grid.AddComboString('France'); 
grid.AddComboString('United Kingdom'); 
grid.AddComboString('United States'); 
end; 
end; 
end
procedure TForm1.gridGetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
case ACol of 
1AEditor := edComboEdit; 
2: AEditor := edComboList; 
end; 
end
As the grid also exposes the ComboBox inplace editor directly, an alternative approach to specify 
the combobox items could be: 
procedure TForm1.gridGetEditorProp(Sender: TObject; ACol, 
ARow: Integer; AEditLink: TEditLink); 
begin 
case ACol of 
1grid.Combobox.Items.Assign(StringList1); 
2: grid.Combobox.Items.Assign(StringList2); 
 end; 
end
procedure TForm1.gridGetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
case ACol of 
1: AEditor := edComboEdit; 
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
adding links to pdf document; c# read pdf from url
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
adding a link to a pdf; pdf link to email
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
33 | Page 
2: AEditor := edComboList; 
 end; 
end
with StringList1 and StringList2 two string list objects that hold the items that should be displayed 
in the combobox when editing respectively column 1 and column 2. 
Note that when the combobox inplace editor is displayed for the first time, its selected item is set 
to the item that matches the content of the cell being edited. If the cell is empty before being 
edited for the first time, the combobox editor will start with the first item in the list for the type 
edComboList and it will start with an empty value for the edComboEdit type. To override this 
behavior and ensure that a specific value is set by default, use the OnGetEditText event that is 
triggered to query the value used by the inplace editor. 
In this sample code, the OnGetEditText is used in combination with the OnGetEditorType event to 
ensure that when the combobox editor is started, it is preset to value “Paris” when the cell is 
empty: 
procedure TForm1.gridGetEditorProp(Sender: TObject; ACol, 
ARow: Integer; AEditLink: TEditLink); 
begin 
grid.ClearComboString; 
grid.AddComboString('Berlin'); 
grid.AddComboString('Paris'); 
grid.AddComboString('London'); 
grid.AddComboString('New York'); 
end; 
end
procedure TForm1.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
AEditor := edComboEdit; 
end; 
procedure TForm1.AdvStringGrid1GetEditText(Sender: TObject; ACol, ARow: 
Integer; 
var Value: string); 
begin 
if Value = '' then 
Value := 'Paris'; 
end; 
Something similar can be achieved by using the grid methods SetComboSelection() or 
SetComboSelectionString() to set the default selection of the combobox when inplace editing starts. 
The code that can be used for this is: 
procedure TForm1.gridGetEditorProp(Sender: TObject; ACol, 
ARow: Integer; AEditLink: TEditLink); 
begin 
grid.ClearComboString; 
grid.AddComboString('Berlin'); 
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract bookmark & outlines. Extract hyperlink inside PDF. PDF Write. Insert images into PDF. Edit, remove images from PDF. Add, edit, delete links. Form Process
add hyperlink in pdf; add hyperlink to pdf
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
adding links to pdf document; add link to pdf file
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
34 | Page 
grid.AddComboString('Paris'); 
grid.AddComboString('London'); 
grid.AddComboString('New York'); 
grid.SetComboSelectionString('Paris'); 
end; 
end
procedure TForm1.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
AEditor := edComboEdit; 
end; 
The combobox triggers following events: 
OnComboDropDown: TClickCellEvent; 
Event triggered when the combobox dropdown is opened. 
OnComboCloseUp: TClickCellEvent; 
Event triggered when the combobox dropdown is closed. 
OnComboChange: TComboChangeEvent; 
Event triggered when combo selection changes and returning the new selection index and value. 
OnComboObjectChange: TComboObjectChangeEvent; 
Event triggered when combo selection changes and returning the new selection index, value and 
associated object. 
For a combobox, it is also possible to control the width of the dropdown list. The width can 
automatically adapt to the width of the largest text in the list when  
grid.Navigation.AutoComboDropSize is set to true or a custom width can be set through the 
property: grid.ComboBox.DropWidth: integer;   
Note that a combobox editor selects a string from the dropdown list and the selected value is stored 
as a string in the grid cell. In some cases, it is desirable to get the index of the selected combobox 
item. You can do this using: 
index := grid.ComboBox.Items.IndexOf(grid.Cells[col,row]); 
or alternatively, you can use 
index := grid.ComboIndex[ACol,ARow]; 
Additional options with using comboboxes: 
By default, comboboxes are only visible when the inplace editing has started. In some situations, it 
might be helpful that the user can see through the dropdown image that a cell has a combobox. 
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
convert excel to pdf with hyperlinks; adding an email link to a pdf
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
add hyperlink to pdf; add links to pdf online
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
35 | Page 
With TAdvStringGrid this is possible by using one property and one event handler. To enable the 
display of comboboxes for any cell that has a combobox inplace editor whether the cell is in edit 
mode or not, set grid.ControlLook.DropDownAlwaysVisible = true. 
Fine control is also present to configure whether a combobox should immediately display its 
dropdownlist when the editor is activated in a cell. This can be enabled with the property  
grid.MouseActions.DirectComboDrop = true 
If a cell with a combobox should automatically stop the editing after a combobox item is selected, 
this can be enabled by setting grid.MouseActions.DirectComboClose = true. Otherwise, the 
combobox inplace editor just remains visible after selecting an item and only disappears when a 
new cell is selected. 
Edit with button attached 
edEditBtn, edNumericEditBtn, edFloatEditBtn are three types of inplace edit controls with a button 
attached. This inplace edit control is exposed as grid.BtnEdit. Some additional properties available 
this way to control the behaviour of this inplace editor are: 
property EditorEnabled: Boolean; 
When false, the editor value can only be programmatically changed from the OnEllipsClick event 
that is triggered when the button in the edit control is clicked. 
property Glyph: TBitmap; 
Sets the glyph that can be used on the inplace editor button. 
property ButtonCaption: string; 
Sets the caption that can be used on the inplace editor button. 
property ButtonWidth: integer; 
Sets the width of the inplace editor button. 
property RightAlign: Boolean; 
When true, the inplace editor is right-aligned. 
Example: different edit controls with button 
In this example a left and right aligned edit with button with different button caption are used: 
procedure TForm1.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
case ACol of 
1:begin 
AEditor := edEditBtn; 
grid.BtnEdit.RightAligned := True; 
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
clickable links in pdf from word; add url link to pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
add hyperlink to pdf in preview; add a link to a pdf file
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
36 | Page 
grid.BtnEdit.EditorEnabled := False; 
grid.BtnEdit.ButtonCaption := '+'; 
end; 
2:begin 
AEditor := edComboList; 
grid.BtnEdit.RightAligned := False; 
grid.BtnEdit.EditorEnabled := True; 
grid.BtnEdit.ButtonCaption := '...'; 
 end; 
end; 
end
When the attached button is pressed, the OnEllipsClick event is triggered. To set a value from this 
event, modify the parameter Value. This example uses an InputQuery call to set the value: 
procedure TForm1.AdvStringGrid1EllipsClick(Sender: TObject; ACol, ARow: 
Integer; 
var S: string); 
begin 
InputQuery('Enter new value','Text',s); 
end
procedure TForm1.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
AEditor := edEditBtn; 
AdvStringGrid1.BtnEdit.EditorEnabled := false; 
end; 
Edit with unit selection and button attached 
This special inplace editor to do a split edit of a physical value and a physical unit, is based on the 
fact that such a value is always written as <value><unit> and that value contains numeric data only, 
while the unit is a non numeric string or symbol. So, if a cell contains some string like : 100µA the 
inplace unit editor will automatically allow split editing of value 100 and unit µA. 
Only two things are required to get this working. First, you need to specify the inplace editor 
through the OnGetEditorType event. Secondly, all properties of this inplace editor can be accessed 
through the grid.BtnUnitEdit property. This BtnUnitEdit has a stringlist property that contains all 
possible units. 
Example: editing currents and currencies unit edit button 
procedure TForm1.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
if (aCol = 1) then 
begin 
grid.BtnUnitEdit.Units.Clear; 
grid.BtnUnitEdit.Units.Add(‘µA’); 
grid.BtnUnitEdit.Units.Add(‘mA’); 
grid.BtnUnitEdit.Units.Add(‘A’); 
AEditor := edUnitEditBtn; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
37 | Page 
end; 
if (aCol = 2) then 
begin 
grid.BtnUnitEdit.Units.Clear(); 
grid.BtnUnitEdit.Units.Add(‘$’); 
grid.BtnUnitEdit.Units.Add(‘£’); 
grid.BtnUnitEdit.Units.Add(‘EU’); 
AEditor := edUnitEditBtn; 
end; 
end; 
Date picker, time and date + time selection 
edDateEdit, edDateEditUpDown and edTimeEdit invoke the standard Windows TDateTimePicker 
control as inplace editor for date & time editing. This control is exposed as grid.DateTimePicker. 
Through this control additional properties such as colors for the inplace datepicker can be 
controlled. If a cell contains both date and time, using edDateTimeEdit allows to edit both the date 
& time part in the cell with a special purpose editor that has a datepicker & time edit part.  
Dropdown edit controls 
For an even more rich user experience, TAdvStringGrid has a set of inplace editors for choosing 
colors, images, time, edit numbers via a calculator, pick values from a combobox with detail notes 
per item or pick values from a dropdown grid. This set of inplace editors shares a common 
structure. The dropdown has a header and footer. Both header and footer can contain HTML 
formatted informational text about the editor and can feature buttons as well. The settings for the 
dropdown control header and footer are exposed via grid.ControlLook.DropDownHeader and 
grid.ControlLook.DropDownFooter. Note that the dropdown header and footer are optional and can 
be turned off by setting the respective Visible property to false. When the SizeGrid property is set 
to true on the footer, the dropdown can be resized by dragging from the bottom-right corner. Using 
the time picker, memo, trackbar and calculator dropdown is straightforward. Just like with all other 
edit controls, use the OnGetEditorType event and set the editor to the correct editor type. For the 
color picker and image picker, some more detailed interaction with the grid is available. By default, 
the color picker will set the cell color to the color choosen and will trigger the event 
OnColorSelected. If we have added a shape in the cell though, it is just the color of the shape that 
the color picker will set. To demonstrate this, add following code: 
procedure TForm2.AdvStringGrid1GetEditorType(Sender: TObject; ACol,  ARow: 
Integer; var AEditor: TEditorType); 
begin 
// set this editor just for cell 1,1 
if (Acol = 1) and (ARow = 1) then 
begin 
AEditor := edColorPickerDropDown; 
// select the colorcube as color selector 
AdvStringGrid1.ColorPickerDropDown.ColorSelectionStyle := csColorCube; 
end; 
end; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
38 | Page 
procedure TForm2.FormCreate(Sender: TObject); 
begin 
AdvStringGrid1.Options := AdvStringGrid1.Options + [goEditing]; 
AdvStringGrid1.AddShape(1,1,csRectangle, clWhite, clBlack, haBeforeText, 
vaCenter); 
end; 
Similar to a color picker, an image picker dropdown can also be used to edit an imagelist image set 
in a cell. By default, it will just trigger the OnImageSelected event when editing is done, but when 
a cell has an imagelist image, it will also automatically update this image. Again, with very little 
code this can be achieved. Drop an ImageList on the form and assign it to grid.GridImages and add 
the code: 
procedure TForm2.AdvStringGrid1GetEditorType(Sender: TObject; ACol,  ARow: 
Integer; var AEditor: TEditorType); 
begin 
if (Acol = 1) and (ARow = 1) then 
begin 
AEditor := edImagePickerDropDown; 
// will automatically load all images from the imagelist in the image 
picker 
AdvStringGrid1.ImagePickerDropDown.AddImagesFromImageList; 
// forces the imagepicker to display images in 2 columns 
AdvStringGrid1.ImagePickerDropDown.Columns := 2; 
end; 
end; 
procedure TForm2.FormCreate(Sender: TObject); 
begin 
AdvStringGrid1.Options := AdvStringGrid1.Options + [goEditing]; 
AdvStringGrid1.AddDataImage(1,1,0,haBeforeText, vaCenter); 
end; 
The detail picker dropdown can be considered as a combobox with an optional extra image per item 
and additional notes text for each item. Its use is straightforward and becomes clear with following 
code: 
procedure TForm2.AdvStringGrid1GetEditorType(Sender: TObject; ACol, 
ARow: Integer; var AEditor: TEditorType); 
begin 
AEditor := edDetailDropDown; 
end; 
procedure TForm2.FormCreate(Sender: TObject); 
var 
di: TDetailItem; 
begin 
AdvStringGrid1.DetailPickerDropDown.Images := ImageList1; 
AdvStringGrid1.DetailPickerDropDown.ItemHeight := 40; 
AdvStringGrid1.DetailPickerDropDown.Items.Clear; 
di := AdvStringGrid1.DetailPickerDropDown.Items.Add; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
39 | Page 
di.ImageIndex := 0; 
di.Caption := 'Delphi'; 
di.Notes := 'Most productive IDE for Win32 development'; 
di := AdvStringGrid1.DetailPickerDropDown.Items.Add; 
di.ImageIndex := 1; 
di.Caption := 'Delphi Prism'; 
di.Notes := 'Take your Pascal skills to .NET'; 
di := AdvStringGrid1.DetailPickerDropDown.Items.Add; 
di.ImageIndex := 2; 
di.Caption := 'Delphi PHP'; 
di.Notes := 'RAD development for PHP'; 
end; 
Finally it is possible to have a grid as inplace editor. The value that will be displayed in the cell is 
the value from the column in the grid on the selected row that is set as lookup column with 
property GridDropdown.LookupColumn. To set the properties for each column in the grid, the 
grid.Columns collection is available. Via this column of type TDropDownColumn, it can be defined 
whether a column contains text or an imagelist image. The items in the grid can be added via 
grid.Items which is a collection of TDropDownItem objects. How everything falls into place is made 
clear with the sample code to initialize a dropdown grid: 
var 
dc: TDropDownColumn; 
di: TDropDownItem; 
begin 
AdvStringGrid1.GridDropDown.Images := ImageList1; 
dc := AdvStringGrid1.GridDropDown.Columns.Add; 
dc.Header := ''; 
dc.ColumnType := ctImage; 
dc.Width := 30; 
dc := AdvStringGrid1.GridDropDown.Columns.Add; 
dc.Header := 'Brand'; 
dc.ColumnType := ctText; 
dc := AdvStringGrid1.GridDropDown.Columns.Add; 
dc.Header := 'Type'; 
dc.ColumnType := ctText; 
di := AdvStringGrid1.GridDropDown.Items.Add; 
di.ImageIndex := 0; 
di.Text.Add(''); 
di.Text.Add('BMW'); 
di.Text.Add('7 series'); 
di := AdvStringGrid1.GridDropDown.Items.Add; 
di.ImageIndex := 1; 
di.Text.Add(''); 
di.Text.Add('Mercedes'); 
di.Text.Add('S class'); 
di := AdvStringGrid1.GridDropDown.Items.Add; 
di.ImageIndex := 2; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
40 | Page 
di.Text.Add(''); 
di.Text.Add('Porsche'); 
di.Text.Add('911'); 
di := AdvStringGrid1.GridDropDown.Items.Add; 
di.ImageIndex := 3; 
di.Text.Add(''); 
di.Text.Add('Audi'); 
di.Text.Add('A8'); 
AdvStringGrid1.GridDropDown.LookupColumn := 1; 
end; 
Edit controls with lookup and auto history 
The normal inplace edit and comboboxes have the capability to do lookup on predefined values and 
as such perform auto completion while typing. This feature is enabled by setting grid.Lookup to 
True. The values to lookup for are set in the stringlist LookupItems. Auto completion can be case 
sensitive or not and this is controlled by grid.LookupCaseSensitive. With LookupHistory set True, the 
lookup item list automatically grows with items typed in the grid that are not yet in the 
LookupItems list. 
Example: Using lookup for inplace editors 
This code initializes the built-in lookup with some predefined value:  
begin 
with AdvStringGrid1 do 
begin 
Options := Options + [goEditing]; 
LookupItems.Clear; 
LookupItems.Add('BMW'); 
LookupItems.Add('Mercedes'); 
LookupItems.Add('Audi'); 
LookupItems.Add('Porsche'); 
LookupItems.Add('Ferrari'); 
Lookup := true; 
end; 
end; 
Typing ‘M’ in a cell, results in automatic lookup to ‘Mercedes’ 
Direct access to inplace editors 
Documents you may be interested
Documents you may be interested