recupero de dos tablas mysql datos, los vuelco en un array individual a cada uno, a uno de ellos luego le agrego "por codigo" un item mas y lo vuelvo a ordenar,
y no lo hace bien. cuando lo meto en un combobox y selecciono un item me muestra otro.
- Code: Select all Expand view RUN
- METHOD cargarDistribuidores() CLASS TDistribuidores
LOCAL aDatos := arrTranspose( ::oCnx:Execute( "select nombre from tbdistribuidores order by nombre" ) )[ 1 ]
RETURN ( aDatos )
::aDistribuidores:= ::cargarDistribuidores()
aadd(::aDistribuidores, "todos")
::aDistribuidores:= asort(::aDistribuidores, {x,y| x > y })
fwdbg ::aDistribuidores
los datos de la tabla son
"aaaaaaaaaaaaaa"
"xxxxxxxxxxxxxxxxxxxxxx"
"d1"
al ordenarlo me lo hace bien.
aaaaa
d1
xxxxxx
pero al agregar y volverlo a ordenar me pone asi
todos
aaaaa
xxxxx
d1
Pego un codigo donde pueden ver el problema
- Code: Select all Expand view RUN
- //////////////////////////////////////////////////////////////////////////////
// Programa: combobox.prg
// Fecha Creación: 10/29/2021
// Hora: 12:32
// Proyecto en xMate: combobox
// Lista de funciones:
// Ultima actualizacion :>: 10/29/2021 12:50
// Historial:
// >>:
// 10/29/21
//////////////////////////////////////////////////////////////////////////////
#include "fivewin.ch"
CLASS TAPP
DATA oGets
DATA vGets
DATA oDlg
DATA aDistribuidores
DATA aSucursales
METHOD new() CONSTRUCTOR
METHOD pantalla()
METHOD inicializar()
ENDCLASS
//------------------------------------------------------------------------------
METHOD new() CLASS TAPP
::oGets := Array( 2 )
::vGets := Array( 2 )
::aDistribuidores := { }
::aSucursales := { }
::aDistribuidores := { ;
"x", ;
"d", ;
"q" ;
}
::aSucursales := { ;
"x", ;
"d", ;
"Todas", ;
"f" ;
}
::aDistribuidores := ASort( ::aDistribuidores, { | x, y | x > y } )
::aSucursales := ASort( ::aSucursales, { | x, y | x > y } )
RETURN ( Self )
//------------------------------------------------------------------------------
METHOD inicializar()
::vGets[ 1 ] := "Todas"
::vGets[ 2 ] := "Todos"
::oGets[ 1 ]:Refresh()
::oGets[ 2 ]:Refresh()
RETURN ( NIL )
//------------------------------------------------------------------------------
METHOD pantalla() CLASS TAPP
LOCAL this := Self
DEFINE DIALOG ::oDlg RESOURCE "FILTROBASICO"
AAdd( ::aDistribuidores, "Todos" )
::aDistribuidores := ASort( ::aDistribuidores, { | x, y | x > y } )
REDEFINE COMBOBOX ::oGets[ 1 ] VAR ::vGets[ 1 ] ID 100 OF ::oDlg ;
ITEMS ::aSucursales
REDEFINE COMBOBOX ::oGets[ 2 ] VAR ::vGets[ 2 ] ID 101 OF ::oDlg ;
ITEMS ::aDistribuidores
ACTIVATE DIALOG ::oDlg CENTERED ON INIT ( this:inicializar() )
RETURN ( NIL )
//------------------------------------------------------------------------------
FUNCTION main()
LOCAL o := Tapp():new()
o:pantalla()
RETURN( NIL )
//------------------------------------------------------------------------------