npGrid plugin

About this plugin

This plugin provide to your publications an fully customizable string grid control. They support multilined and merged headers, smooth scrolling, customizable colors like header light color, header dark color, header color, grid color, alternate color, text color, etc.

Each grid column can be hidden and have its own horizontal and vertical alignment, color and font. The plugin also provide dozens of events that you can use to personalize the grid, filter and validate their data, etc. And of course you can manage more than one grid objects at a time.

The grid object can copy, cut and paste data from/to clipboard. The plugin have the appropiate actions to insert and delete rows, get the total columns and rows, get or set the cells values, etc, and provide actions to update the grid objects content without screen flickers, and more.

Thirparty

This plugin are imposible without the aid of this people:

Thanks a lot!

Plugin actions index

npGridCreate

Create a new Grid object instance and attach it to a NeoBook rectangle object. The result variable store "True" if everything is OK, or "False" if not. In this last case the [LastError] contain information about the error.

↑↑

npGridDestroy

Destroy a previously created Grid object instance and deattach it from their NeoBook rectangle object. The result variable store "True" if everything is OK, or "False" if not. In this last case the [LastError] contain information about the error.

↑↑

npGridDestroyAll

Destroy all currently availables instances of Grid objects. The result variable store "True" if everything is OK, or "False" if not. In this last case the [LastError] contain information about the error.

↑↑

npGridClear

Clear the cells on a Grid objet instance. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridGetCell

Get the value of a cell on a Grid object instance. Specify the column and row index to retrieve the cell value. The result variable store the cell value if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridBeginUpdate

Prepare a Grid object instance to be updated with lots cells values. This action is recommended also when set lots of columns or in general when made lot of changes on a Grid object instance. Dont forget to call npGridEndUpdate after. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridSetCell

Set the value of a cell on a Grid object instance. Specify the column and row index to set the cell value. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridEndUpdate

Tell to a Grid object instance that lots of cell values has been added. See npGridBeginUpdate. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridColCount

Get the total of columns on a Grid object instance. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridRowCount

Get the total of rows on a Grid object instance. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridInsertRow

Insert a new row on a Grid object instance. Specify the row index in order to insert the row. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridDeleteRow

Delete a row on a Grid object instance. Specify the row index to delete the row. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridGutterStrs

Set the gutter strings of a Grid object instance. Separate the strings by the "|" (pipe) char. This strings are showed on the grid gutter when you choose "gkString" on grid options. See npGridOptions. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridGetColRow

Get the currently selected column and row in the specified Grid object instance. The column variable and row variable store the current selected in the grid. Note the values are zero indexed. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridSetColRow

Set the currently selected column and row in the specified Grid object instance. Note the column and row values are zero indexed. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridFonts

Specify the fonts for a Grid object instance. This action set various Grid object instance fonts, like header, footer, gutter, etc. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridColors

Set the colors of a Grid object instance. The colors must be specified on "NeoBook format", that is: "R,G,B" values. Get help using the "Color" button on the action properties form in order to fill the Grid colors options values. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridOptions

Specify general options of a Grid object instance. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error. Here is the list of Grid options explained:

(1) Gutter kind option can be one of the following values:

↑↑

npGridColumns

Set the columns options on a Grid object instance. Use this action to personalize the columns of a Grid object instance. Get help using the "Color" and "Font" buttons on the action properties form. When you choose a color or a font these are copied to the clipboard. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error. Here is the list of Grid columns options explained:

(1) HorzAlign option can be one of the following values:

(2) The column title can contain "$" to separate text lines, and "|" to group columns, for example:

(1) VertAlign option can be one of the following values:

↑↑

npGridCutToClipboard

Cut the Grid object instance selected cells to the clipboard. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridCopyToClipboard

Copy the Grid object instance selected cells to the clipboard. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npGridPasteFromClipboard

Paste the content of clipboard to an Grid object instance. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridMouseUp

Set a subroutine to be executed when a Grid object instance mouse up event is fired. The rectangle variable store the Grid object rectangle wich fired the event. The Button variable store one of this values: mbLeft, mbRight or mbMiddle. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridMouseDown

Set a subroutine to be executed when a Grid object instance mouse down event is fired. The rectangle variable store the Grid object rectangle wich fired the event. The button variable store one of this values: mbLeft, mbRight or mbMiddle. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridInsertRow

Set a subroutine to be executed when a row is inserted on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The row variable store the row index that has been inserted. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridDeleteRow

Set a subroutine to be executed when a row is deleted on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The row variable store the row index that has been deleted. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridCellChange

Set a subroutine to be executed when a cell change on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The column and row variables store their respectives cell coordinates. The string variable store the string that are changed. You can read the string variable, but also can set, in order to store the new string to the appropiate cell.

The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridFilterChar

Set a subroutine to be executed when can filter a char on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The column and row variables store their respectives cell coordinates. The string variable store the string that are changed. You can read the string variable, but also can set, in order to store the new string to the appropiate cell.

The char variable store the character that can be filtered. If you ignore the allowed variable or set to "False", the Grid rejects the char to be inserted. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridHeaderClick

Set a subroutine to be executed when the header on a Grid object instance are clicked. The rectangle variable store the Grid object rectangle wich fired the event. The column variable store the number of column that has been clicked. The button variable store one of this values: mbLeft, mbRight or mbMiddle. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridGutterClick

Set a subroutine to be executed when the gutter on a Grid object instance are clicked. The rectangle variable store the Grid object rectangle wich fired the event. The row variable store the number of row that has been clicked. The button variable store one of this values: mbLeft, mbRight or mbMiddle. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridCellChanging

Set a subroutine to be executed when a cell chaging on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The column and row variables store their respectives cell coordinates. If you ignore or set to "True" the can change variable the Grid allow the cell change, if set the can change variable to "False" the grid reject the cell change.

The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridColRowChanged

Set a subroutine to be executed when a col/row changed on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The column and row variables store their respectives cell coordinates. The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

npOnGridCellAssignment

Set a subroutine to be executed when a cell is assigned on a Grid object instance. The rectangle variable store the Grid object rectangle wich fired the event. The column and row variables store their respectives cell coordinates. The string variable store the string that are assigned. You can read the string variable, but also can set, in order to assign the new string to the appropiate cell.

The result variable store "True" if everything is OK, or "False" if an error occur. In this last case the [LastError] variable contain information about the error.

↑↑

Action errors subroutine

All the NeoPlugins deal with errors in the same way that NeoBook does: when the plugin found an action error the [LastError] variable store information about the error, so you can take care about this variable when execute an action.

But all the NeoPlugins also incorporate an advanced way to deal with possible action errors. You can define a subroutine named OnNeoPluginActionError in order to be executed when some action error are found and you can use this variables inside:

Note that this error handling subroutine are shared for all the NeoPlugins, so you no need to specify a subroutine for every plugin you use in your publication because the same subroutine are recognized and automagically used by every NeoPlugin. Below you can view a sample of this subroutine code:

:OnNeoPluginActionError
  AlertBox "NeoPlugin Error" "Error [LastError] in plugin: [PluginName]"
Return

Also note that the use of this NeoPlugins error handling subroutine is completelly optional. You can continue using the [LastError] variable as usual and even use the both methods at the same time.

↑↑