|
of_keybrowselectext
|
|
Full name
|
pfc_n_cst_dwsrv_rowselection.of_keybrowselectext
|
Access
|
protected
|
Extend of
|
integer
|
Return value
|
integer
|
Prototype
|
protected function integer of_keybrowselectext(long,boolean,boolean)
|
Name
|
Datatype
|
li_i
|
integer
|
protected function integer of_keybrowselectext (long al_row, boolean ab_cntrlpressed, boolean ab_shiftpressed);//////////////////////////////////////////////////////////////////////////////
//
// Function: of_KeybRowSelectExt
//
// Access: Protected
//
// Arguments:
// al_row The row on which some action is required.
// ab_cntrlpressed Flag stating if the CNTRL key is pressed.
// ab_shiftpressed Flag stating if the SHIFT key is pressed.
//
// Returns: Integer
//
// Description: Performs specific KeyBoard driven Extended select processing
// on a row.
//
//////////////////////////////////////////////////////////////////////////////
//
// Revision History
//
// Version
// 6.0 Initial version
//
//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1996-1997 Sybase, Inc. and its subsidiaries. All rights reserved.
// Any distribution of the PowerBuilder Foundation Classes (PFC)
// source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//
//////////////////////////////////////////////////////////////////////////////
integer li_i
// Check arguments.
If IsNull(al_row) or al_row <=0 Then
Return -1
End If
// There is no Previous row information.
il_prevclickedrow = 0
ib_prevcntrl = False
ib_prevshift = False
If ab_shiftpressed Then
//Clear all previously selected rows.
idw_requestor.SelectRow (0, false)
// If there is no anchor row, then only select the row that was clicked.
If il_anchorrow = 0 Then
idw_requestor.SelectRow ( al_row, TRUE )
Else
// Prevent flickering. Improve performance.
idw_requestor.SetReDraw ( FALSE )
// Select all rows in between anchor row and current row */
If il_anchorrow > al_row Then
FOR li_i = il_anchorrow to al_row STEP -1
idw_requestor.SelectRow ( li_i, TRUE )
NEXT
Else
FOR li_i = il_anchorrow to al_row
idw_requestor.SelectRow ( li_i, TRUE )
NEXT
END If
// Prevent flickering. Improve performance. ?
idw_requestor.SetReDraw ( TRUE )
END If
ElseIf ab_cntrlpressed Then
// No action desired. Just let RowFocusIndicator show current row.
Else
// Unselect all previous rows (if any) and select the current row.
of_RowSelectSingle (al_row)
// Store new Anchor Row.
il_anchorrow = al_row
End If
// Make the row the current row.
If idw_Requestor.GetRow() <> al_row Then
idw_Requestor.SetRow ( al_row )
End If
Return 1
end function
Name
|
Owner
|
dragobject.setredraw |
dragobject
|
datawindow.getrow |
datawindow
|
datawindow.selectrow |
datawindow
|
datawindow.setrow |
datawindow
|
systemfunctions.isnull |
systemfunctions
|
pfc_n_cst_dwsrv_rowselection.of_rowselectsingle |
pfc_n_cst_dwsrv_rowselection
|