Combobox

Combobox

Postby MarioG » Fri Oct 02, 2009 12:50 am

Estimados;
Tengo un comobox al que inicialmente, a su cVarCmb le asigno el valor ""
Luego de seleccionar un valor de la lista y guardar el registro procedo a blanquear el Dlg, poniendo nuevamente, cVarCmb:= "", no obstante y luego de un oDLg:Update()
el Combobox sigue mostrando sigue mostrando el último valor seleccionado. El redefine usado contiene la clausula UPDATE
Como hago para que no muestre ningun item de la lista (el array tiene todos los campos definidos).
Creo que esto ya se trató, pero no lo pude encontrar

gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Combobox

Postby jponce » Thu Oct 08, 2009 4:43 pm

Como tenes definido tu ComboBox?

Enseñame parte de tu codigo

Atentamente,
Julio Ponce
Suproye
jponce
 
Posts: 194
Joined: Fri Apr 18, 2008 4:21 pm
Location: Guatemala

Re: Combobox

Postby MarioG » Thu Oct 08, 2009 9:14 pm

Julio;
En un Dlg, tengo 3 combos alineados cuyos array son:

Code: Select all  Expand view

   DATA  aDias      AS ARRAY     INIT  { "01", "02", "03", "04", "05", ;
                                         "06", "07", "08", "09", "10", ;
                                         "11", "12", "13", "14", "15", ;
                                         "16", "17", "18", "19", "20", ;
                                         "21", "22", "23", "24", "25", ;
                                         "26", "27", "28", "29", "30", "31" }                   READONLY
   DATA  aMeses     AS ARRAY     INIT  { "Enero", "Febrero", "Marzo", "Abril", ;
                                         "Mayo", "Junio", "Julio", "Agosto"  , ;
                                         "Septiembre", "Octubre", "Noviembre", "Diciembre" }    READONLY
   DATA  aAnios     AS ARRAY     INIT  Array( 110 )

...
// Relleno el array Anios:
   // Tabla aRray de Años
   nAnio:= Year( Date() ) -110
   for each cAnio in ::aAnios
      cAnio:= Str( ++nAnio, 4 )
   next

...
// En el metodo que muestra el Dlg, defino las locales
      cDia  := ""
      cMes  := ""
      cAnio := ""

// Mas adelante los muestro así:
   REDEFINE COMBOBOX aO[_PCmb1] VAR cDia  ITEMS ::aDias  ID 105 OF aO[_PFld]:aDialogs[1] UPDATE
   REDEFINE COMBOBOX aO[_PCmb2] VAR cMes  ITEMS ::aMeses ID 106 OF aO[_PFld]:aDialogs[1] UPDATE
   REDEFINE COMBOBOX aO[_PCmb3] VAR cAnio ITEMS ::aAnios ID 107 OF aO[_PFld]:aDialogs[1] UPDATE
...
// Mas adelante el Boton Guardar hace lo propio luego, para 'limpiar' los campos, de gets y en este caso combos, hago:
     cDia       := ""
     cMes       := ""
     cAnio      := ""
     oDlg:Update()
 

Todos los campos Get se limpian excepto los Combos, que muestran el último valor seleccionado. Obviamente si salgo del Dlg y vuelvo a entrar los Combos aparecen con el campo en blanco.
Y esa sería la idea luego del oDlg:Update(), que queden en blanco para una nueva selección

gracias por responder
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Combobox

Postby jponce » Thu Oct 08, 2009 11:09 pm

DATA aDias AS ARRAY INIT { "01", "02", "03", "04", "05", ;
"06", "07", "08", "09", "10", ;
"11", "12", "13", "14", "15", ;
"16", "17", "18", "19", "20", ;
"21", "22", "23", "24", "25", ;
"26", "27", "28", "29", "30", "31" } READONLY
DATA aMeses AS ARRAY INIT { "Enero", "Febrero", "Marzo", "Abril", ;
"Mayo", "Junio", "Julio", "Agosto" , ;
"Septiembre", "Octubre", "Noviembre", "Diciembre" } READONLY
DATA aAnios AS ARRAY INIT Array( 110 )

...
// Relleno el array Anios:
// Tabla aRray de Años
nAnio:= Year( Date() ) -110
for each cAnio in ::aAnios
cAnio:= Str( ++nAnio, 4 )
next

...
// En el metodo que muestra el Dlg, defino las locales
cDia := ""
cMes := ""
cAnio := ""

// Mas adelante los muestro así:
REDEFINE COMBOBOX aO[_PCmb1] VAR cDia ITEMS ::aDias ID 105 OF aO[_PFld]:aDialogs[1] UPDATE
REDEFINE COMBOBOX aO[_PCmb2] VAR cMes ITEMS ::aMeses ID 106 OF aO[_PFld]:aDialogs[1] UPDATE
REDEFINE COMBOBOX aO[_PCmb3] VAR cAnio ITEMS ::aAnios ID 107 OF aO[_PFld]:aDialogs[1] UPDATE
...
// Mas adelante el Boton Guardar hace lo propio luego, para 'limpiar' los campos, de gets y en este caso combos, hago:
cDia := ""
cMes := ""
cAnio := ""
oDlg:Update()

Mira yo tube casi el mismo problema pero yo lo que hago es lo siguiente

aO[_PCmb1]:set(::aDias[1]) // esto lo que va hacer es que te va a regresar al registro 1 de la matriz adias

Espero que te sirva

Atentamente
Julio Ponce
jponce
 
Posts: 194
Joined: Fri Apr 18, 2008 4:21 pm
Location: Guatemala

Re: Combobox

Postby csincuir » Fri Oct 09, 2009 2:18 am

Mario, porque no pruebas con agregar un elemento vacío a tus matrices de datos, te pongo como ejemplo en rojo en tus matrices de datos:

DATA aDias AS ARRAY INIT { "", "01", "02", "03", "04", "05", ;
"06", "07", "08", "09", "10", ;
"11", "12", "13", "14", "15", ;
"16", "17", "18", "19", "20", ;
"21", "22", "23", "24", "25", ;
"26", "27", "28", "29", "30", "31" } READONLY
DATA aMeses AS ARRAY INIT { "", "Enero", "Febrero", "Marzo", "Abril", ;
"Mayo", "Junio", "Julio", "Agosto" , ;
"Septiembre", "Octubre", "Noviembre", "Diciembre" } READONLY

DATA aAnios AS ARRAY INIT Array( 111 )

...
// Relleno el array Anios:
// Tabla aRray de Años
nAnio:= Year( Date() ) -110
for each cAnio in ::aAnios
cAnio:= Str( ++nAnio, 4 )
next
aAnios[111] := ""
...

No cuentas.

Carlos Sincuir
csincuir
 
Posts: 399
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala

Re: Combobox

Postby MarioG » Fri Oct 09, 2009 11:06 am

Carlos
en lugar de andar buscando por el lado dificil, en general, hay que comenzar por buscar soluciones sencillas :lol:

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 33 guests