Estimados lectores, ha sido una experiencia agradable el
hacer este blog y tener algunos lectores que comparten el gusto por la
programación; actualmente estoy empezando otro proyecto, muy personal, con tecnología web que espero compartir con toda la comunidad de
programadores y necesito recursos porque es algo muy personal y mi situación
financiera no es muy buena.
Si alguien desearía
apoyarme tengo una tarjeta Oxxo Saldazo
con el número: 4766-8408-7508-1593,
cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les
agradezco y que sus proyectos lleguen a buen fin.
Un caso comun en los combos es asignar un valor a un combo por medio de programación como en el siguiente ejemplo: donde cbocliente se formo desde la tabla clientes
'crea la tabla clientes
Dim dtabcliente As DataTable
Dim miadaptador As SqlDataAdapter
miadaptador = New SqlDataAdapter("select cvecliente,nombrecliente from clientes", Conexion)
dtabcliente = New DataTable
miadaptador.Fill(dtabcliente)
'asigna los valores al combo
Cbocliente.DataSource = dtabcliente
' Asignar el campo de nombre a la propiedad DisplayMember del combo
Cbocliente.DisplayMember =dtabcliente.Columns("nombrecliente").Caption.ToString
'Asigna el campo de clave al valuemember
cbocliente.valuemember= dtabcliente.Columns("cvecliente").Caption.ToString
'luego le asignamos un valor al selected value
cbocliente.SelectedValue = "4"
'Hasta aquí todo normal, despues si quiero extraer del combo el nombre del cliente generalmente lo hacemos de la siguiente manera:
Nombrecliente= cbocliente.text 'tambien se ocupa cbocliente.SelectedItem
'el nombrecliente es una variable que podemos ocupar para llenar un reporte, para 'pasarla a un label o a otro textbox etc,etc.
'!O J O!, lo que sucede es que en ocasiones lo que nos devuelve cbocliente.text es una cadena :System.Data.DataRowView
'lo cual es lógico ya que cada elemento del combo es una clase de renglón del tipo 'datarowview
'la razón de que devuelva esto es que le pusimos el valor por medio de programación y no interactuamos con el combo, asi que para asegurarnos de que siempre me regrese el valor que se desea—en este caso el nombre de cliente ocupamos la siguiente sintaxis:
nombrecliente = DirectCast(cbocliente.SelectedItem, DataRowView).Item("nombrecliente").ToString
'de esta manera siempre nos va a regresar el nombbre del cliente
Hola tu info es de mucha ayuda...yo tengo el mismo problema pero en c#, no se si me podrias ayudar con el codigo para recuperar el valor y que no me salga el System.Data.DataRowView
ResponderEliminarGracias x ty ayuda.....!!!
Hola, yo no conozco mucho de c#, pero puede ser algo parecido a lo siguiente. Recuerda que lo fundamental es que hagas referencia al datarowview de tu combo. Consulta la sintaxis de c#, pero debe ser muy parecida a la que te doy.
ResponderEliminarnombrecliente == ((DataRowView)cbocliente.SelectedItem).Item("nombrecliente").ToString
Suerte!
Un lector de este blog, me hizo la misma pregunta,via mail, entre a correr su código en C#
ResponderEliminary la sintaxis que me funciona en C#, seria la siguiente:
string nombrecliente=((DataRowView)cbocliente.SelectedItem)["nombrecliente"].ToString();
O en caso de que la presentes directamente con messageshow, seria la siguiente:
MessageBox.Show(((DataRowView)cbocliente.SelectedItem)["nombrecliente"].ToString());
espero que les sea de utilidad
Como seria para asignarle que seleccione el item
ResponderEliminarpor ejemplo
me.combobox.selectItem= ? como seria
Hola,no quedo muy clara tu pregunta, pero si deseas seleccionar un item debes ocupar SelectedIndex como sigue:
ResponderEliminarme.combobox.SelectedIndex = 4 ,por ejemplo
eres un artista!!
ResponderEliminarMuchas gracias or tu comentario! y un saludo a todos! espero que este año 2014 se cunmplan todas sus metras y proyectos personales y profesionales!
ResponderEliminarmuchas gracias eres un genio
ResponderEliminarmuchas gracis por comentar, que bueno que te haya sido de utilidad.
Eliminarsaludos
graciasssssssssssssss me salvaste
ResponderEliminarGracias a ti por comentar,siempre es gratificante saber que lo que compartimos le sirvio a alguien. Saludos
ResponderEliminarGracias, tenia un problema y en block compredi mi error y solucione el problem.
ResponderEliminarPerfecto¡ gracias Ricardo por comentar, saludos
Eliminar