>******************************************************************** >* Description.......: BTCC_MultiList.BTC_ListSelect: method to select a comma-delimited list of codes >* Calling Samples...: >* Parameter List....: list_arg >* Created by........: MDA >* Modified by.......: Nadya Nosonovsky 01/14/2000 04:07:16 PM >******************************************************************** >* 8/4/99: Adapted from preliminary logic for handling the Counties listbox. >* 12/14/99 NN changed the code to better handle lots of items selected (AT instead of INLI) >* This method is used for state-saving/restoration of the listbox. >* >* Note that the behavior of this method is additive, to allow for anticipated need to >* split up steps due to VFP's 256 character macro/expression length limit. >lparameters list_arg && takes 1 required arg >* list_arg: list of codes, in a form suitable for arglist to inlist(). >with this > if alen(.btcValArray) <= 1 && array is empty > return && no-op > endif > if empty(m.list_arg) > list_arg=.btcCrit > endif > local n, lnSel, lnCodes, lnLen >* check for empty array special case > lnLen=alen(.btcValArray, 1) >* loop over the array, checking each item against the given list > for n = 1 to m.lnLen && cycle over rows > if at(.btcValArray[m.n, 2], m.list_arg)>0 && this item is to be selected > .Container1.List1.selected(m.n) = .t. && flag list item as Selected > endif > endfor > if !empty(.TableName) > lnSel=select() && save current area > select (.TableName) > if reccount()<1 and !empty(m.list_arg) && First time > local array laCodes[1] > lnCodes=aparser1(@laCodes, m.list_arg,',') > for i=1 to m.lnCodes > insert into (.TableName) values (laCodes[i]) > next > if !empty(.InputClass) > lObj=evaluate('this.container1.'+.InputClass+'1') > lObj.requery() > endif > endif > select (m.lnSel) && return to previous area > endif >endwith>
>>>LPARAMETERS cObjName, cSelected >>> >>>LOCAL oObj AS ListBox, i >>> >>>oObj = EVALUATE("This."+cObjName) >>> >>>FOR i = 1 TO oObj.ListCount >>> IF ALLTRIM(oObj.ListItem[i,2]) $ cSelected >> >>* I have tried Selected and SelectedID here, neither works. >> >>> oObj.SelectedID[i] = .T. >>> ENDIF >>>ENDFOR >>> >>>RETURN >>>>>>