| 4D v13PV SELECT RANGE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D View v13
 PV SELECT RANGE 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PV SELECT RANGE ( area ; left ; top ; right ; bottom ; action ) | ||||||||
| Parameter | Type | Description | ||||||
| area | Longint |   | 4D View area | |||||
| left | Longint |   | Column number of left cell | |||||
| top | Longint |   | Row number of top cell | |||||
| right | Longint |   | Column number of right cell | |||||
| bottom | Longint |   | Row number of bottom cell | |||||
| action | Integer |   | Select action | |||||
The PV SELECT RANGE command selects the range of cells defined by left, top, right and bottom coordinates.
The action parameter allows defining the selection action that you want to execute when a selection of cells already exists: you can add the range to the selection, reduce the selection to the range or remove the range from the selection. action is defined using the PV Selection action constants:
| Constant | Type | Value | Comment | 
| pv selection add | Longint | 1 | The new selection is added to the existing selection. | 
| pv selection reduce | Longint | 2 | The selection is removed from the existing selection. | 
| pv selection set | Longint | 0 | The new selection replaces the existing selection. | 
We want to select the range of cells E2, E3, F2, F3. The selection action will depend on the context (already selected cells):
  `Arrays defining the existing selection:
 ARRAY LONGINT($Left;0) `Left-hand cell column numbers
 ARRAY LONGINT($Top;0) `Top cell row numbers
 ARRAY LONGINT($Right;0) `Right-hand cell column numbers
 ARRAY LONGINT($Bottom;0) `Bottom cell row numbers
 
 PV GET SELECTED RANGES LIST(Area;$Left;$Top;$Right;$Bottom) `Get selected ranges if any
 
 If(Size of array($Left)=0) `No current selection
    PV SELECT RANGE(Area;5;2;6;3;pv selection set) `Set the range as current selection
 Else
    PV SELECT RANGE(Area;5;2;6;3;pv selection add) `Add the range to current selection
 End ifThis example can be used to select or the cell which has been Alt+clicked (Windows) or Option+clicked (Mac OS), depending on whether or not it already belongs to the selection.
  `Definition of the current selection range
 PV SELECT RANGE(area;1;5;2;9;pv selection set)
 
  `Call a method when the area is clicked
 PV ON EVENT(area;pv on clicked;"ExampleView")
 
  `ExampleView method
 C_LONGINT($1;$2;$3;$4;$5)
 If(($2=pv on clicked)&($3=2048)) `Alt + click or Option + click
    If(PV Is cell selected(area;$4;$5)=1)
  `If the cell is part of the selection, it is removed from it
       PV SELECT RANGE(area;$4;$5;$4;$5;pv selection reduce)
    Else
  `If the cell is not part of the selection, it is added to it
       PV SELECT RANGE(area;$4;$5;$4;$5;pv selection add)
    End if
 End if
	Product:  4D
	Theme:  PV Selection
	Number:  
        15945
        
        
        
	
	Modified:  4D View 2004.4
PV GET CURRENT CELL
PV Is range selected