of_keybrowselectext


pfcdwsrv.pbl   >   pfc_n_cst_dwsrv_rowselection   >   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
No Data

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
pfc_n_cst_dwsrv_rowselection.of_keybrowselect pfc_n_cst_dwsrv_rowselection

     
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

     
Full name
No Data

     
Name Scope
No Data