Print Friendly

# Class YAHOO.ext.grid.SingleSelectionModel

Package: | YAHOO.ext.grid
Class: | SingleSelectionModel
Extends: | DefaultSelectionModel
Defined In: | SelectionModel.js

Allows only one row to be selected at a time.

## Public Properties

This class has no public properties.

## Public Methods

Method | Defined By
--- | ---
| SingleSelectionModel() | SingleSelectionModel
Create new SingleSelectionModel
| addListener(`String eventName`, `Function handler`, [`Object scope`], [`boolean override`]) : void | Observable
Appends an event handler to this element
| clearSelections() : void | DefaultSelectionModel
Clears all selections.
| delayedListener(`String eventName`, `Function handler`, [`Object scope`], [`Number delay`]) : Function | Observable
Appends an event handler to this element that is delayed the specified number of milliseconds.
| deselectRange(`Number/HTMLElement startRow`, `Number/HTMLElement endRow`) : void | DefaultSelectionModel
Deselects a range of rows. All rows in between startRow and endRow are also deselected.
| deselectRow(`Number/HTMLElement row`) : void | DefaultSelectionModel
Deselects a row.
| fireEvent(`String eventName`, `Object... args`) : Boolean | Observable
Fires the specified event with the passed parameters (minus the event name).
| focusRow(`HTMLElement row`) : void | DefaultSelectionModel
Deprecated. Deprecated. Tries to focus the row and scroll it into view - Use grid.scrollTo or grid.getView().focusRow...
| getCount() : Number | DefaultSelectionModel
Gets the number of selected rows.
| getSelectedRowIds() : Array | DefaultSelectionModel
Returns the selected row ids.
| getSelectedRows() : Array | DefaultSelectionModel
Returns the selected rows.
| hasSelection() : Boolean | DefaultSelectionModel
Returns True if there is a selection.
| isLocked() : Boolean | DefaultSelectionModel
Returns true if the selections are locked
| isSelectable(`HTMLElement row`) : Boolean | DefaultSelectionModel
Returns True if the specified row is selectable.
| isSelected(`HTMLElement row`) : Boolean | DefaultSelectionModel
Returns True if the specified row is selected.
| lock() : void | DefaultSelectionModel
Lock the selections
| purgeListeners() : void | Observable
Removes all listeners for this object
| removeListener(`String eventName`, `Function handler`, [`Object scope`]) : void | Observable
Removes a listener
| selectAll() : void | DefaultSelectionModel
Selects all rows.
| selectFirstRow() : void | DefaultSelectionModel
Selects the first row in the grid.
| selectNext([`Boolean keepExisting`]) : void | DefaultSelectionModel
Selects the row immediately following the last selected row.
| selectPrevious([`Boolean keepExisting`]) : void | DefaultSelectionModel
Selects the row that precedes the last selected row.
| selectRange(`Number/HTMLElement startRow`, `Number/HTMLElement endRow`, [`Boolean keepExisting`]) : void | DefaultSelectionModel
Selects a range of rows. All rows in between startRow and endRow are also selected.
| selectRow(`Number/HTMLElement row`, [`Boolean keepExisting`]) : void | DefaultSelectionModel
Selects a row.
| selectRows(`Array rows`, [`Boolean keepExisting`]) : void | DefaultSelectionModel
Selects multiple rows.
| selectRowsById(`String/Array id`, [`Boolean keepExisting`]) : void | DefaultSelectionModel
Set the selected rows by their ID(s). IDs must match what is returned by the DataModel getRowId(index).
| unlock() : void | DefaultSelectionModel
Unlock the selections

## Public Events

Event | Defined By
--- | ---
| dragenter : (`SelectionModel this`, `HTMLElement row`, `Boolean selected`) | DefaultSelectionModel
Fires when a row is selected or deselected
| selectionchange : (`SelectionModel this`, `Array rows`, `String ids`) | DefaultSelectionModel
Fires when the selection changes

## Constructor Details

### SingleSelectionModel

`public function SingleSelectionModel()`
Create new SingleSelectionModel
Parameters:

- None.

## Method Details

### addListener

`public function addListener(`String eventName`, `Function handler`, [`Object scope`], [`boolean override`])`
Appends an event handler to this element
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `scope` : Object
  (optional) The scope (this object) for the handler
- `override` : boolean
  (optional) If true, scope becomes the scope

Returns:

- `void`

This method is defined by Observable.

### clearSelections

`public function clearSelections()`
Clears all selections.
Parameters:

- None.

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### delayedListener

`public function delayedListener(`String eventName`, `Function handler`, [`Object scope`], [`Number delay`])`
Appends an event handler to this element that is delayed the specified number of milliseconds.
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The method the event invokes
- `scope` : Object
  (optional) The scope (this object) for the handler
- `delay` : Number
  (optional) The number of milliseconds to delay

Returns:

- `Function`
  The wrapped function that was created (can be used to remove the listener)

This method is defined by Observable.

### deselectRange

`public function deselectRange(`Number/HTMLElement startRow`, `Number/HTMLElement endRow`)`
Deselects a range of rows. All rows in between startRow and endRow are also deselected.
Parameters:

- `startRow` : Number/HTMLElement
  The row or index of the first row in the range
- `endRow` : Number/HTMLElement
  The row or index of the last row in the range

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### deselectRow

`public function deselectRow(`Number/HTMLElement row`)`
Deselects a row.
Parameters:

- `row` : Number/HTMLElement
  The row or index of the row to deselect

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### fireEvent

`public function fireEvent(`String eventName`, `Object... args`)`
Fires the specified event with the passed parameters (minus the event name).
Parameters:

- `eventName` : String
- `args` : Object...
  Variable number of parameters are passed to handlers

Returns:

- `Boolean`
  returns false if any of the handlers return false otherwise it returns true

This method is defined by Observable.

### focusRow

`public function focusRow(`HTMLElement row`)`
Deprecated. Deprecated. Tries to focus the row and scroll it into view - Use grid.scrollTo or grid.getView().focusRow() instead.
Parameters:

- `row` : HTMLElement
  The row to focus

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### getCount

`public function getCount()`
Gets the number of selected rows.
Parameters:

- None.

Returns:

- `Number`

This method is defined by DefaultSelectionModel.

### getSelectedRowIds

`public function getSelectedRowIds()`
Returns the selected row ids.
Parameters:

- None.

Returns:

- `Array`
  Array of String ids

This method is defined by DefaultSelectionModel.

### getSelectedRows

`public function getSelectedRows()`
Returns the selected rows.
Parameters:

- None.

Returns:

- `Array`
  Array of DOM row elements

This method is defined by DefaultSelectionModel.

### hasSelection

`public function hasSelection()`
Returns True if there is a selection.
Parameters:

- None.

Returns:

- `Boolean`

This method is defined by DefaultSelectionModel.

### isLocked

`public function isLocked()`
Returns true if the selections are locked
Parameters:

- None.

Returns:

- `Boolean`

This method is defined by DefaultSelectionModel.

### isSelectable

`public function isSelectable(`HTMLElement row`)`
Returns True if the specified row is selectable.
Parameters:

- `row` : HTMLElement
  The row to check

Returns:

- `Boolean`

This method is defined by DefaultSelectionModel.

### isSelected

`public function isSelected(`HTMLElement row`)`
Returns True if the specified row is selected.
Parameters:

- `row` : HTMLElement
  The row to check

Returns:

- `Boolean`

This method is defined by DefaultSelectionModel.

### lock

`public function lock()`
Lock the selections
Parameters:

- None.

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### purgeListeners

`public function purgeListeners()`
Removes all listeners for this object
Parameters:

- None.

Returns:

- `void`

This method is defined by Observable.

### removeListener

`public function removeListener(`String eventName`, `Function handler`, [`Object scope`])`
Removes a listener
Parameters:

- `eventName` : String
  The type of event to listen for
- `handler` : Function
  The handler to remove
- `scope` : Object
  (optional) The scope (this object) for the handler

Returns:

- `void`

This method is defined by Observable.

### selectAll

`public function selectAll()`
Selects all rows.
Parameters:

- None.

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectFirstRow

`public function selectFirstRow()`
Selects the first row in the grid.
Parameters:

- None.

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectNext

`public function selectNext([`Boolean keepExisting`])`
Selects the row immediately following the last selected row.
Parameters:

- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectPrevious

`public function selectPrevious([`Boolean keepExisting`])`
Selects the row that precedes the last selected row.
Parameters:

- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectRange

`public function selectRange(`Number/HTMLElement startRow`, `Number/HTMLElement endRow`, [`Boolean keepExisting`])`
Selects a range of rows. All rows in between startRow and endRow are also selected.
Parameters:

- `startRow` : Number/HTMLElement
  The row or index of the first row in the range
- `endRow` : Number/HTMLElement
  The row or index of the last row in the range
- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectRow

`public function selectRow(`Number/HTMLElement row`, [`Boolean keepExisting`])`
Selects a row.
Parameters:

- `row` : Number/HTMLElement
  The row or index of the row to select
- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectRows

`public function selectRows(`Array rows`, [`Boolean keepExisting`])`
Selects multiple rows.
Parameters:

- `rows` : Array
  Array of the rows or indexes of the row to select
- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### selectRowsById

`public function selectRowsById(`String/Array id`, [`Boolean keepExisting`])`
Set the selected rows by their ID(s). IDs must match what is returned by the DataModel getRowId(index).
Parameters:

- `id` : String/Array
  The id(s) to select
- `keepExisting` : Boolean
  (optional) True to retain existing selections

Returns:

- `void`

This method is defined by DefaultSelectionModel.

### unlock

`public function unlock()`
Unlock the selections
Parameters:

- None.

Returns:

- `void`

This method is defined by DefaultSelectionModel.

## Event Details

### dragenter

`public event dragenter`
Fires when a row is selected or deselected
Subscribers will be called with the following parameters:

- `this` : SelectionModel
- `row` : HTMLElement
  The row element
- `selected` : Boolean
  true if the row was selected, false if deselected

This event is defined by DefaultSelectionModel.

### selectionchange

`public event selectionchange`
Fires when the selection changes
Subscribers will be called with the following parameters:

- `this` : SelectionModel
- `rows` : Array
  Array of row elements that are selected
- `ids` : String
  Array of ids that are selected

This event is defined by DefaultSelectionModel.

Copyright © 2006 Jack Slocum. All rights reserved.