pfc_rowfocuschanged


pfcdwsrv.pbl   >   pfc_n_cst_dwsrv_rowselection   >   pfc_rowfocuschanged   

Full name pfc_n_cst_dwsrv_rowselection.pfc_rowfocuschanged
Access public
Extend of integer
Return value integer
Prototype event integer pfc_rowfocuschanged(long)

Name Datatype
No Data

Name Datatype
lb_rowclicked boolean
lb_rowdeletion boolean
li_rc Integer

event pfc_rowfocuschanged;call super::pfc_rowfocuschanged;//////////////////////////////////////////////////////////////////////////////
//
//	Event:  			pfc_rowfocuschanged
//
//	Arguments:
//	al_row:  	row clicked
//
//	Returns:  		Integer
//						1 if it succeeds and -1 if an error occurs.
//
//	Description:  Provide Keyboard support.  Prior to performing the keyboard 
//		processing; a) check that the rowfocuschange was not caused by a 
//		rowdeletion	or b) check if the required processing was already 
//		processed on the clicked action.
//
//////////////////////////////////////////////////////////////////////////////
//	
//	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_rc=1
boolean	lb_rowdeletion=False
boolean	lb_rowclicked=False

// Validate required reference.
If IsNull(idw_requestor) Or Not IsValid(idw_requestor) Then
	Return -1
End If

// Only perform when the keyboard support is active.
If ib_keyboard Then
	// Determine if this rowchange was caused by a RowDeletion operation.
	// (Note: al_row=1 is needed for dwSharing.)
	lb_rowdeletion = ((al_row = il_prevrow -1 Or al_row=1) And &
							idw_requestor.RowCount() = il_prevrowcount -1)

	// Determine if this rowchange was caused by a Clicked operation.
	lb_rowclicked = (il_currclickedrow = al_row)

	// Process row when not a rowdeletion or rowclicked operation.
	If (Not lb_rowdeletion) And (Not lb_rowclicked) Then
		// Process keyboard behavior depending on selection option
		li_rc = of_KeybRowSelect(al_row)
	End If
End If

// Reset the currently Clicked row.
il_currclickedrow = 0

// Keep track of the previous row and previous rowcount to catch for 
// RowDeletion operations.
il_prevrow = al_row
il_prevrowcount = idw_requestor.RowCount()

Return li_rc
end event

     
Name Owner
pfc_u_dw.rowfocuschanged pfc_u_dw

     
Name Owner
datawindow.rowcount datawindow
systemfunctions.isnull systemfunctions
systemfunctions.isvalid systemfunctions
pfc_n_cst_dwsrv_rowselection.of_keybrowselect pfc_n_cst_dwsrv_rowselection

     
Full name
No Data

     
Name Scope
No Data