Using the Lookup Dialog without the Lookup Control (SmartBusinessEntityLookup)
The following code sample demonstrates the use of the SmartBusinessEntityLookup Dialog class outside of the Context of the Lookup Control.
/**********************************************************************
* Copyright (C) 2006-2011 by Consultingwerk Ltd. ("CW") - *
* www.consultingwerk.de and other contributors as listed *
* below. All Rights Reserved. *
* *
* Software is distributed on an "AS IS", WITHOUT WARRANTY OF ANY *
* KIND, either express or implied. *
* *
* Contributors: *
* *
**********************************************************************/
/*------------------------------------------------------------------------
File : lookup-dialog.p
Purpose : Example demonstrating the use of the SmartBusinessEntityLookupDialog
outside of a Lookup control
Syntax :
Description :
Author(s) : Mike Fechner / Consultingwerk Ltd.
Created : Thu Aug 04 17:14:16 CEST 2011
Notes :
----------------------------------------------------------------------*/
/* *************************** Definitions ************************** */
ROUTINE-LEVEL ON ERROR UNDO, THROW.
USING Consultingwerk.SmartComponents.Support.* .
DEFINE VARIABLE oLookupDialog AS SmartBusinessEntityLookupDialog NO-UNDO .
DEFINE VARIABLE oResult AS System.Windows.Forms.DialogResult NO-UNDO .
/* *************************** Main Block *************************** */
/* Create a new instance of the SmartBusinessEntityLookupDialog, the
default constructor does not allow the Lookup Dialog to store user
settings like for Dialog position and the column width */
oLookupDialog = NEW SmartBusinessEntityLookupDialog ().
ASSIGN oLookupDialog:AdapterType = ""
oLookupDialog:LookupSmartBusinessEntityAdapter = ?
.
oLookupDialog:InitializeDataAdapter() .
/* Set the title of the Dialog */
oLookupDialog:SetText ("This is set Lookup Dialog title") .
/* Set the usual properties for accessing a BusinessEntity on the backend */
ASSIGN
oLookupDialog:AppServerPartition = ""
oLookupDialog:LookupBrowserFields = "CustNum,Name,Country"
oLookupDialog:LookupDialogQueryString = "FOR EACH eCustomer"
oLookupDialog:LookupDialogFilterFields = "CustNum,Name,Country"
oLookupDialog:LookupDialogFilterOperators = "GE,BEGINS,BEGINS"
oLookupDialog:LookupEntityName = "Consultingwerk.SmartComponentsDemo.OERA.Sports2000.CustomerBusinessEntity"
oLookupDialog:LookupEntityTable = "eCustomer"
oLookupDialog:LookupEntityView = ""
oLookupDialog:LookupKeyField = "CustNum"
.
/* Show the Dialog, WAIT-FOR Ok or Cancel */
WAIT-FOR oLookupDialog:ShowDialog () SET oResult.
/* Compare the DialogResult to Ok, exit when Cancel was pressed */
IF Progress.Util.EnumHelper:AreNotEqual (oResult,
System.Windows.Forms.DialogResult:OK) THEN RETURN .
/* Access fields from the selected record */
MESSAGE oLookupDialog:GetLookupFieldValue ("CustNum") SKIP
oLookupDialog:GetLookupFieldValue ("Name")
VIEW-AS ALERT-BOX.