Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

indice en combo box

Estas en el tema de indice en combo box en el foro de Visual Basic clásico en Foros del Web. hola maestros necesito cargar un combo con los meses pero necesito registrar el numero que representa por eje, enero 1 , febrero 2 , etc ...
  #1 (permalink)  
Antiguo 17/11/2006, 08:16
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 4 meses
Puntos: 2
indice en combo box

hola maestros necesito cargar un combo con los meses pero necesito registrar el numero que representa por eje, enero 1 , febrero 2 , etc

lo hice primero asi .

CMES.AddItem "enero" //funciona ok
CMES.AddItem "enero", 1 // me marca error

invalid procedure call or argument.

como lo puedo hacer para que lleve un indice.?

un saludo.
__________________
"Cuando se adelanta un oponente, enfréntalo y salúdalo; si intenta retroceder, déjalo seguir su camino"
  #2 (permalink)  
Antiguo 17/11/2006, 09:15
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
cMes.addItem "Enero"
cMes.ItemData(cMes.NewIndex)=1
cMes.addItem "Febrero"
cMes.ItemData(cMes.NewIndex)=2
....
cMes.addItem "Diciembre"
cMes.ItemData(cMes.NewIndex)=12


para recuperar el valor es MesSeleccionado = cMes.ItemData(cMes.ListIndex)
  #3 (permalink)  
Antiguo 17/11/2006, 10:06
Avatar de mveraa  
Fecha de Ingreso: diciembre-2002
Ubicación: santiago-chilito
Mensajes: 1.931
Antigüedad: 21 años, 4 meses
Puntos: 2
muchas gracias lo chequeare
__________________
"Cuando se adelanta un oponente, enfréntalo y salúdalo; si intenta retroceder, déjalo seguir su camino"
  #4 (permalink)  
Antiguo 18/11/2006, 09:35
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
pero como podria hacer por ejemplo que a esos meses le relacione un codigo cualquiera es decir a Enero lo relacione con E1, febrero con F2 y asi sucesivamente porque cMes.ItemData(cMes.NewIndex) solo me acepta enteros y quiero relacionarlo con un strin gracias por la ayuda.
  #5 (permalink)  
Antiguo 19/11/2006, 13:30
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Haber foreros quizas no me explique bien por ejemplo yo tengo una tabla algo asi:
ID DESCRIPCION
------ -------------
F0001 Conticard
F0002 Cliente
F0003 No Cliente
F0004 Maestro

Lo que quiero es agregar el campo descripcion a un combo para que se visualize lo ahgo con su propiedad addItem pero quiero que el usuario al escoger una accion yo pueda capturar el campo ID y no se como adiacionar tanto el campo ID como el campo Descripcion al combo.

Algo como en html en la etiqueta select
<select>
<option value="ID">Descripcion</option>
</select>
pero nose como hacerlo en visual 6 espero me ayuden y me he dejado entender muchas gracias.
  #6 (permalink)  
Antiguo 20/11/2006, 08:37
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Cita:
Iniciado por mveraa Ver Mensaje
hola maestros necesito cargar un combo con los meses pero necesito registrar el numero que representa por eje, enero 1 , febrero 2 , etc

lo hice primero asi .

CMES.AddItem "enero" //funciona ok
CMES.AddItem "enero", 1 // me marca error

invalid procedure call or argument.

como lo puedo hacer para que lleve un indice.?

un saludo.
Te marca un error porque debes comenzar el indice del combo en 0

Código:
CMES.AddItem "enero", 0 
CMES.AddItem "febrero", 1
......
......
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #7 (permalink)  
Antiguo 20/11/2006, 08:38
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
yen mi caso me puedes ayudar
  #8 (permalink)  
Antiguo 20/11/2006, 08:42
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Si quieres agregar campos al combo utiliza el datacombo... es mas facil...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #9 (permalink)  
Antiguo 20/11/2006, 08:47
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Loquillo7

si quieres gregar datos de tipo string hacelo hacia un listbox y usas desde ahi o tal vez a la derecha del nombre del mes pones el codigo y lo sacas con un substring, por que tal como dices item data es de tipo entero.
  #10 (permalink)  
Antiguo 06/10/2009, 09:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: indice en combo box

despues de todo el webeo lo ise en VB 6.0 lo importe
con .net 2008 para ver como lo asia y importo componentes de VB 6.0
a un lisbox y lo consulta, nada buena calidad pero funciona

codigo

Código HTML:
Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Friend Class Form1
	Inherits System.Windows.Forms.Form
	'UPGRADE_WARNING: El evento Combo1.SelectedIndexChanged se puede desencadenar cuando se inicializa el formulario. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="88B12AE1-6DE0-48A0-86F1-60C0686C026A"'
	Private Sub Combo1_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Combo1.SelectedIndexChanged
		Text1.Text = CStr(VB6.GetItemData(Combo1, Combo1.SelectedIndex))
	End Sub
	
	Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
		Dim i As Object
		
		For i = 0 To 10
			'UPGRADE_WARNING: No se puede resolver la propiedad predeterminada del objeto i. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
            Combo1.Items.Add(New VB6.ListBoxItem(CStr(VB.Day(Today)), CInt(i)))
			
		Next i
		
		
	End Sub
End Class
eso chauuuu
  #11 (permalink)  
Antiguo 06/10/2009, 14:16
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: indice en combo box

Loquillo7, creo que lo tuyo es muy fácil.
El modo más cómodo es crear un segundo Combo invisible con los ID.
Lógicamente tienes que cargar los ID en el Combo2 en el mismo orden que las descripciones del Combo1.
El ID del elemento seleccionado en el Combo1 siempre será:
Dim ID As String
ID = Combo2.List(Combo1.ListIndex)
Y podrás agregar y eliminar elementos fácilmente siempre que lo hagas en los dos combos a la vez.

Saludos
  #12 (permalink)  
Antiguo 07/10/2009, 21:01
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: indice en combo box

Hola, el unico que respondio acertado es vbx3m. primero es verdad que se puede ocultar el ID de un registro en el combobox mediante la propiedad itemData del mismo, pero el problema es que esta propiedad solo acepta numeros...y aca el ID es de tipo String, por eso el DataCombo tiene para poder almacenar el ID con el tipo de datos que quieras y por eso debes usar ese control.

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:22.