Occurs when the current row changes in the DataWindow.

PowerBuilder event information

Event ID: pbm_dwnrowchange




Long by value. The number of the row that has just become current.

Return Values

There are no special outcomes for this event. The only code is:

0 -- Continue processing


The SetRow method, as well as user actions, can trigger the RowFocusChanged and ItemFocusChanged events.

In a read-only DataWindow, when you click on any column that is not in the current row, the RowFocusChanging and RowFocusChanged events fire, but the current column is not changed -- the current column remains at 0, since no column can have focus. DataWindows are read-only if updates are not allowed, all tab orders are set to 0, or all tab columns are protected.

If, however, focus is on an editable column in an updatable DataWindow (a DataWindow that has one or more editable columns), the row focus events do not fire when you click on a protected column or on a column whose tab order is 0. The focus remains on the current, editable column.

If focus moves off an editable column in an updatable DataWindow, the DataWindow switches to read-only mode. This can happen when the last row in the DataWindow does not have an editable column. In this case, tabbing off the last editable column causes the row focus to move to the row following the row with the last editable column. The DataWindow then remains in read-only mode until focus is given to an editable column.

When you use the ScrollToRow method to change focus, the RowFocusChanging event is triggered before the scroll occurs, and the RowFocusChanged event is triggered after the scroll occurs.


This example displays the current row number and the total number of rows in a SingleLineEdit:

sle_1.Text = "Row " + String(currentrow) &
      + " of " + String(This.RowCount())

See also