AYUDA CON XBROWSE/EDIT_LISTBOX

AYUDA CON XBROWSE/EDIT_LISTBOX

Postby jbrita » Tue May 15, 2012 6: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
jbrita
 
Posts: 487
Joined: Mon Jan 16, 2006 3:42 pm

Re: AYUDA CON XBROWSE/EDIT_LISTBOX

Postby anserkk » Wed May 16, 2012 8:44 am

Hope the following sample helps you.

Code: Select all  Expand view
#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
User avatar
anserkk
 
Posts: 1331
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 36 guests