Problema con el Combobox

Problema con el Combobox

Postby Pedro » Tue Sep 23, 2008 2:41 pm

Hola a todos
En una pequeña aplicacion, en su ventana de captura de datos, tengo dos combobox, el primero definido directamente

Local oCombo := {"Si","No"}
Funciona bien, me toma sus datos, segun esten en la tabla.
El segundo combo, es un array que se rellena con los registros de otra tabla, y cuando accedo en la ventana de captura de datos, me cambia el orden de los items de manera curiosa, el 1º Item lo pone el último, el 2º lo pone el primero, el 3º lo pone el segundo...y así sucesivamente,
Con lo cual lo que informa primero es un dato que no es el que hay en la tabla.
Este es el código

Code: Select all  Expand view
REDEFINE   GET aDatos[16]    ID 1016  PICTURE "99"  OF oDlg UPDATE
REDEFINE   GET aDatos[17]    ID 1017  PICTURE "9999999999" OF oDlg UPDATE
REDEFINE   COMBOBOX oConcep VAR cCombo ITEMS aConceptos ID 1018  OF oDlg UPDATE

cCombo esta definido así cCombo := aConceptos[aDatos[18]]
Si pongo un msginfo de cCombo, me da correcto
El código donde cargo la tabla en el array aConceptos es este.
Code: Select all  Expand view
* ------------------------------------------------------------------
FUNCTION PonConcepto()
* ------------------------------------------------------------------
Local nSele := Select()
Local n := 1   
Local aConceptos[0]

     
      dbSelectArea("CPT")
      CPT->(dbGotop())
      n := CPT->(RecCount())
      ASIZE(aConceptos,n)
      AFILL(aConceptos,"")
      n:= 1
      While CPT->(!Eof())
            IF CPT->(Eof())
               exit
            EndIf   
            aConceptos[n] :=  CPT->concepto
            CPT->(dbSkip())
            n++
      EndDo
      dbSelectArea(nSele)
Return(aConceptos)


Alquien me puede decir por qué me cambia el índice de los datos en el array del combobox?

Una manita y una pierna, plisssssssssssss

Gracias

Pedro
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Postby Manuel Aranda » Tue Sep 23, 2008 4:54 pm

Hola Pedro:

Yo probaría de la forma siguiente:

REDEFINE COMBOBOX oConcep VAR aDatos[18] ITEMS aConceptos ID 1018 OF oDlg UPDATE
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Postby Pedro » Tue Sep 23, 2008 6:43 pm

Hola Manuel

Ya lo intenté así antes de poner el post, daba lo mismo, seguía el problema y claro cuando intentaba asignar el número del item selecionado, pues salía un churro, porque no era el que estaba en la tabla.
EL problema es que el combobox ejecuta una ordenacion y por eso me coloca los items de diferente forma a como se introducen en el array

Un abrazo Manuel

Pedro
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Postby RenOmaS » Tue Sep 23, 2008 8:17 pm

verifica en el recurso si el combobox esta setead para ordenarse (SORT)
Saludos/regards
RenOmaS

skype: americo.balboa
User avatar
RenOmaS
 
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Postby Manuel Aranda » Tue Sep 23, 2008 8:25 pm

Hola de nuevo Pedro:

Y has comprobado que aDatos[18] esté contenida en aConceptos exactamente igual, es decir, con el mismo número de caracteres y en la misma posición? Da la impresión de que no se posiciona en ese item por que no lo encuentra.

Pedro wrote:Hola Manuel

Ya lo intenté así antes de poner el post, daba lo mismo, seguía el problema y claro cuando intentaba asignar el número del item selecionado, pues salía un churro, porque no era el que estaba en la tabla.
EL problema es que el combobox ejecuta una ordenacion y por eso me coloca los items de diferente forma a como se introducen en el array

Un abrazo Manuel

Pedro
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 604
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Yo los cargo asi

Postby Ramon Paredes » Wed Sep 24, 2008 2:46 am

Hola pedro,

La forma en que cargos mis arreglos es la siguiente y no he tenido ningun problema con el orden,

Local aConceptos = [1]

select a
use miBasedeConceptos
miBase->(OrdSetFocus("mi_indice"))
aConceptos[1] = miBase->campo1
skip
select a
do while !eof()
aadd(aConceptos,miBase->campo1
skip
enddo
close data
return aConceptos

asi no hay forma que te distorsione el orden

Saludes desde managua,nicaragua

Ramon Paredes
... Desde la Tierra de lagos y Volcanes......
User avatar
Ramon Paredes
 
Posts: 215
Joined: Fri Feb 02, 2007 3:38 pm
Location: Managua, Nicaragua

Postby Willi Quintana » Wed Sep 24, 2008 2:50 am

Hola,
Apostaria que en el recurso, el combobox tiene activado la casilla SORT en modo Yes, cambia a No, eso esta en sus propiedades..
Salu2
User avatar
Willi Quintana
 
Posts: 1010
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Postby Pedro » Wed Sep 24, 2008 4:56 pm

RenOmas efectivamente, estaba, cero que se le puso al pasar el recurso por el visual estudio, ya que yo creo los combobox sin el CBS_SORT

Manuel, aDatos[18] es un índice númerico, que me indica que posición tiene en la tabla de conceptos de facturación el socio, ya que solo se le factura por un concepto.

Ramón da lo mismo como cargues el arreglo, si el combobox tiene la propiedad CBS_SORT te ordena el arreglo, de eso no me dí cuenta.

Willi efectivamente tenía activado el SORT y no lo pillé, por lo que le digo a RenOmas.

Gracias a todos.

Pedro
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Problema con el Combobox

Postby elmoiquique » Mon Mar 25, 2013 6:18 pm

Hola

Porque cambia el orden al activar la casilla SORT del recurso, siendoq que debiera ser el mismo orden

Code: Select all  Expand view
  Sin Sort                  Con Sort

1   D-3200                    D3100
2   D-3200W/18            D3100W
3   D-7000W/18            D3200
4   D-90                        D-3200
5   D3100                      D-3200W/18
6   D3100W                   D5100
7   D3200                      D5200  
8   D5100                      D7000
9   D5200                      D7000W/18
10 D7000                      D90
11 D90                         D-90

El problema esta que al seleccionar por ejemplo el item D3200, SIN SORT lo selecciona bien y CON SORT selecciono el D3200 me muestra D-7000W/18

Cual puede ser el problema, ya cambie de editor de recurso y sigue el mismo problema, y lo necesito ocupar con el sort activado del recurso.. es un problema del combobox o del recurso

Agradeceria su ayuda
Fivewin-Xharbour 11.07, Iquique, Chile
elmoiquique
 
Posts: 309
Joined: Wed May 16, 2007 9:40 pm
Location: Region de Ñuble, Chile

Re: Problema con el Combobox

Postby Pedro » Mon Mar 25, 2013 7:25 pm

Si quieres usar el sort, tan sólo te puedo dar una recomendación para que al elegir salga el que deseas.
Añade un campo de ordenación al inicio de los campos a usar en el combobox. en tu ejemplo : si deseas que salgan como en el sort coloca el número ordinal delante de esa manera elegirás la posición ordinal del combobox. Mi consejo es que no ordenes el combobox, si no que ordenes los items antes de sacarlos en el combobox

Code: Select all  Expand view
 Sin Sort                  Con Sort

1   D-3200                1-D3100
2   D-3200W/18            2-D3100W
3   D-7000W/18            3-D3200
4   D-90                  4-D-3200
5   D3100                 5-D-3200W/18
6   D3100W                6-D5100
7   D3200                 7-D5200  
8   D5100                 8-D7000
9   D5200                 9-D7000W/18
10 D7000                 10-D90
11 D90                   11-D-90
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Problema con el Combobox

Postby elmoiquique » Mon Mar 25, 2013 8:09 pm

Gracias Pedro

Pero creo que el metodo utlizado perderia gran ventaja, ya que al presionar la tecla D, no encontraria inmediatamente la informacion.. asi que no creo que vaya por ahi la solucion..... Me imagino que el error debe ser del combobox.. porque he probado con dos editores de recurso distino al Pelles y me da el mismo problema.... y no se que podria ser...

Tambien al cargar el array lo hago de forma ordenada, pero lo muestra en forma diferente es por eso que al seleccionar el dato muestra otro diferente....., pero solo cuando llevan signos entremedios, cuando va sin estos caracteres, no hay problemas..

Espero una ayudita o tendre que usar los listbox, que son mas seguros y no tienen este problema

Saludos
Fivewin-Xharbour 11.07, Iquique, Chile
elmoiquique
 
Posts: 309
Joined: Wed May 16, 2007 9:40 pm
Location: Region de Ñuble, Chile


Return to FiveWin para Harbour/xHarbour

Who is online

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