FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour AYUDA CON XBROWSE/EDIT_LISTBOX
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
AYUDA CON XBROWSE/EDIT_LISTBOX
Posted: Tue May 15, 2012 06:47 PM

Amigos necesito su ayuda :

tengo un xbrowse co 4 campo

Codigo detalle familia subfamilia

la familia la tengo asi
oCol:= oLbx:AddCol()
oCol:bStrData := { || SQLField(oExi_Suc,"DetFam") }
oCol:cHeader := 'Detalle del Familia'
oCol:nWidth := 200
oCol:nHeadStrAlign:= AL_CENTER
ocol:nEditType := EDIT_LISTBOX
ocol:aEditListTxt := aFamilias
ocol:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN,ValidaFamilia( xVal,oLbx),) }

antes que entre al browse lleno al Array aFamilias

y la subfamilia la tengo asip
oCol:= oLbx:AddCol()
oCol:bStrData := { || SQLField(oExi_Suc,"DetSubf") }
oCol:cHeader := 'Detalle sub-Familia'
oCol:nWidth := 200
oCol:nHeadStrAlign:= AL_CENTER
ocol:nEditType := EDIT_LISTBOX
ocol:aEditListTxt := aSubFamilia
ocol:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN,ValidaSubFamilia( xVal,oLbx),) }

e ahi el problema ya que el array aSubFamilia depende de lo que se elija en la familia y de ahi se llena la SubFamilia , lo estoy haciendo el llanado con :
oLbx:bchange := { || CargaSubFamilia(oLbx) }
y al parecer carga bien el problema es que el ocol:aEditListTxt := aSubFamilia no sabe que tiene informacion cargada y ese e mi problema

espero su ayuda muchachos

salud

Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: AYUDA CON XBROWSE/EDIT_LISTBOX
Posted: Wed May 16, 2012 08:44 AM
Hope the following sample helps you.

Code (fw): Select all Collapse
#Include "FiveWin.ch"
#Include "xBrowse.ch"

//--------------------//
Function Main()
    Local oDlg,oBrw,aData:={ {Space(10),Space(10),Space(10)} }
    Local aCateGory:={"Computer","Furniture"}
    
    DEFINE DIALOG oDlg TITLE "xBrowse Test" SIZE 400,200
    
        @0,0 XBROWSE oBrw ARRAY aData SIZE 0,0 PIXEL OF oDlg ;
            COLUMNS 1,2,3 ;
            HEADERS "Category", "SubCategory", "Item" ;
            AUTOCOLS CELLS FASTEDIT
        
        oBrw:Category:nEditType:= EDIT_LISTBOX
        oBrw:Category:aEditListTxt := aCategory
        oBrw:Category:bOnChange := { | oCol | ChangeListTxt( oBrw:Category:Value,oBrw) }
        
        oBrw:SubCategory:nEditType:= EDIT_LISTBOX        
        oBrw:Item:nEditType:= EDIT_GET
        
        oBrw:CreateFromCode()    
    ACTIVATE DIALOG oDlg CENTERED

Return NIL

//--------------------------------//
Function ChangeListTxt( cCategory,oBrw )
    Local aSubCategory
    if cCategory == "Computer"
        aSubCategory:={"Desktop","Laptops"}
    Elseif cCategory == "Furniture"
        aSubCategory:={"Chairs","Tables"}    
    Endif

    oBrw:SubCategory:aEditListTxt := aSubCategory
    oBrw:SubCateGory:Value:=aSubCateGory[1]

Return NIL


Regards
Anser

Continue the discussion