Difference between revisions of "CellOnClick"
(Locals) |
|||
Line 28: | Line 28: | ||
== Local Variables == | == Local Variables == | ||
{{Release||5.1|Local variables cannot be used inside «expr» prior to [[Analytica 5.2]]}} | {{Release||5.1|Local variables cannot be used inside «expr» prior to [[Analytica 5.2]]}} | ||
− | {{Release||5.2|''New to [[Analytica 5.2]]'' | + | {{Release||5.2|''(New to [[Analytica 5.2]])'' |
+ | |||
From within «expr», you can make use of the pre-defined locals (<code>VertIndex</code>, <code>HorizIndex</code>, <code>ViewMode</code>, <code>ComparisonIndex</code>, <code>VertIndexes</code>, <code>HorizIndexes</code>, and<code>SlicersSetToTotal</code>) that are also available from within the [[Cell Format Expression]] attribute. You can also use the value of any local you declared in your [[Cell Format Expression]] that was in lexical scope at the point were the [[CellOnClick]] predicate appears. And you can declare additional locals inside «expr». | From within «expr», you can make use of the pre-defined locals (<code>VertIndex</code>, <code>HorizIndex</code>, <code>ViewMode</code>, <code>ComparisonIndex</code>, <code>VertIndexes</code>, <code>HorizIndexes</code>, and<code>SlicersSetToTotal</code>) that are also available from within the [[Cell Format Expression]] attribute. You can also use the value of any local you declared in your [[Cell Format Expression]] that was in lexical scope at the point were the [[CellOnClick]] predicate appears. And you can declare additional locals inside «expr». | ||
Line 37: | Line 38: | ||
Notice that the [[If]] protects against the case where there is no horizontal index in the table. The [[LocalAlias]] makes <code>hVal</code> equivalent to the index identifir, so by referring to its value you get the the coordinate of the clicked cell, as described in the previous section. | Notice that the [[If]] protects against the case where there is no horizontal index in the table. The [[LocalAlias]] makes <code>hVal</code> equivalent to the index identifir, so by referring to its value you get the the coordinate of the clicked cell, as described in the previous section. | ||
}} | }} | ||
+ | |||
== Examples == | == Examples == | ||
Revision as of 19:26, 22 September 2018
Release: |
4.6 • 5.0 • 5.1 • 5.2 • 5.3 • 5.4 • 6.0 • 6.1 • 6.2 • 6.3 • 6.4 • 6.5 • 6.6 |
---|
CellOnClick( expr )
A cell format predicate that specifies an expression to be evaluated when a user double-clicks on a table cell (for example in a result table). This can be configured from within a computed cell format in the Cell Format Expression attribute. The expression «expr» is allowed to have side-effects, such as assignments to global variables, in the same way an OnClick or OnChange expression can.
Use this function when you want to enable do some custom action when a user double-clicks on a particular cell in a result table. This behaves similarly to having a Button inside a table.
CellOnClick in row or column header cells
If you want to respond to clicks in a row header cell or column header cell, as with any other cell format predicate, you'll need to use CellSpan and specify the index and «header». For example
CellSpan( PlantType, CellOnClick( DoClickOnPlant(Self), header:true ) )
where PlantType
is an index, and DoClickOnPlant
is a UDF with one parameter.
Coordinates of the cell
New to Analytica 5.2
In some cases, you may want to know the coordinates of the cell that was clicked from within «expr». In most cases, the coordinate of the cell is the value of each index of the table at that cell. This is available within «expr» by simply referring to the index by name in a value context. For example, when In1
is an index, the expression
MsgBox(In1)
would normally show an array of values. But from within «expr», CellOnClick(MsgBox(In1))
would show the single index element from In1
corresponding to the cell that was clicked. All indexes appearing in the table, whether horizontal or vertical indexes, or a slicer index with a single value selected, behaves in this fashion.
Local Variables
Examples
With the following Cell Format Expression, when the user double-clicks on any cell in the I='b'
row of the result table, the user interface will open the influence diagram for the module Mo1
.
If I='b' Then CellOnClick( ShowWindow( Handle(Mo1), 'Diagram' ) )
When the user clicks on any cell in the table, a message box shows the value at full precision.
CellOnClick( MsgBox( NumberToText(Self,fullPrecision:true) ) )
History
CellOnClick was introduced in Analytica 5.0.
Access to local variables and the coordinate of the cell clicked from within the «expr» expression were added in Analytica 5.2.
Enable comment auto-refresher