tag:blogger.com,1999:blog-19117468.post6559138228427160646..comments2014-11-03T13:02:10.315+01:00Comments on DosFlores en .NET: Combobox y ToString()Anonymoushttp://www.blogger.com/profile/09406185496215325468noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-19117468.post-11136166527089155382011-12-11T16:38:13.285+01:002011-12-11T16:38:13.285+01:00Pues tienes 2 opciones.
1ª preguntar si hay selec...Pues tienes 2 opciones.<br /><br />1ª preguntar si hay seleccionado algo antes de hacer las operaciones con:<br />if (cbLocalidad.SelectedItem!=null)<br />{<br /> //el código dentro del SelectedIndexChanged<br />}<br /><br />2ª enganchar el evento después de la carga del combo con:<br /><br />cbLocalidad.SelectedIndexChanged += new EventHandler(cbLocalidad_SelectedIndexChanged);Anonymoushttps://www.blogger.com/profile/09406185496215325468noreply@blogger.comtag:blogger.com,1999:blog-19117468.post-45067113921711882662011-12-11T00:28:43.067+01:002011-12-11T00:28:43.067+01:00Hola... Tengo un problema con el combobox. Estoy t...Hola... Tengo un problema con el combobox. Estoy trabajando con el Visual Studio 2010 C# y una BD Oracle 11g. El llenado del combobox es similar a: <br />cbLocalidad.DataSource = bsLocalidad;<br />cbLocalidad.DisplayMember = "Localidad";<br />cbLocalidad.ValueMember = "CodigoINE";<br /><br />El problema es cuando empiezo a trabajar con el evento: SelectedIndexChanged(object sender, EventArgs e) realizo cualquier operación, y al ejecutar el programa este me genera un error: "No se puede convertir un objeto DBNull en otros tipos", es como si el programa ejecutara no solo el Load sino tambien el evento.<br />Espero alguna idea de como pueda solucionar el problema :DAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-19117468.post-2752847680841824862009-11-26T20:01:06.071+01:002009-11-26T20:01:06.071+01:00Ya encontré el error... o bueno la causa... es que...Ya encontré el error... o bueno la causa... es que estaba haciendo la asignación en el evento SelectedIndexChanged ... pero si lo utilizo despues, si puedo ulizar sin problema SelectedValue y me trae los datos del ValueMember. De todas formas muchas gracias OscarUnknownhttps://www.blogger.com/profile/12023994825740231369noreply@blogger.comtag:blogger.com,1999:blog-19117468.post-64665918568211128332009-11-26T17:28:23.361+01:002009-11-26T17:28:23.361+01:00Un ejemplo:
List#MiClase# lista = new ...Un ejemplo:<br /> List#MiClase# lista = new List#MiClase# {new MiClase(1,"Uno"), new MiClase(2,"Dos") };<br /> <br /> var opcionesLiq = from o in lista<br /> select new { o.id, o.descripcion };<br /> comboBox1.DataSource = opcionesLiq;<br /> comboBox1.ValueMember = "id";<br /> comboBox1.DisplayMember = "descripcion";<br /><br /> int opcion1 = ((MiClase)comboBox1.SelectedValue).id;<br /> string opcion2 = ((MiClase)comboBox1.SelectedValue).descripcion;<br /><br />sustituir # por < y >.Anonymoushttps://www.blogger.com/profile/09406185496215325468noreply@blogger.comtag:blogger.com,1999:blog-19117468.post-8627271397803976412009-11-26T16:55:20.793+01:002009-11-26T16:55:20.793+01:00Mira... aca cargo el combo
private void CargaOpcio...Mira... aca cargo el combo<br />private void CargaOpcionesLiquidacion()<br /> {<br /> ELA_DBEntities ElaEntities = new ELA_DBEntities();<br /> var opcionesLiq = from o in ElaEntities.TipoCosteos<br /> select new { o.IdTipoCosteo, o.TipoCosteo };<br /> this.radComboBoxOpcLiquidacion.DataSource = opcionesLiq; <br /> this.radComboBoxOpcLiquidacion.ValueMember = "IdTipoCosteo"; <br /> this.radComboBoxOpcLiquidacion.DisplayMember = "TipoCosteo"; <br /> this.radComboBoxOpcLiquidacion.DropDownStyle = RadDropDownStyle.DropDownList;<br /> }<br /><br />y donde quiero urilizar el value es aca<br /><br />private void calcularCostos()<br /> {<br /> if (radComboBoxOpcLiquidacion.Text != "")<br /> {<br /> int opcion;<br /> string opcion1;<br /> opcion1 = radComboBoxOpcLiquidacion.Items[radComboBoxOpcLiquidacion.SelectedIndex].Text;<br /> opcion1 = radComboBoxOpcLiquidacion.SelectedValue.ToString();<br /> opcion = (int)radComboBoxOpcLiquidacion.SelectedValue;<br />.<br />.<br />.<br />}Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-19117468.post-82747155048419160942009-11-26T16:41:12.285+01:002009-11-26T16:41:12.285+01:00Sí, en la consulta de LINQ te devolverá una lista ...Sí, en la consulta de LINQ te devolverá una lista de algún tipo, ese Tipo es lo que devuelve SelectedValue. <br /><br />class unaClase<br />{<br /> public int id;<br /> public string Descripcion;<br />}<br /><br />SelectedValue de devolverá un objeto de tipo "unaClase" y podrás acceder a sus miembros con:<br />int opcion1=((unaClase)SelectedValue).id;<br /><br />No sé si lo entiendes, si no pega el código o me lo mandas por mail a oscarmontesinosmarin@gmail.com y te digo como hacerlo.Anonymoushttps://www.blogger.com/profile/09406185496215325468noreply@blogger.comtag:blogger.com,1999:blog-19117468.post-1051517815032350062009-11-26T16:36:09.959+01:002009-11-26T16:36:09.959+01:00Hola Oscar, muchas gracias por contestar... pero e...Hola Oscar, muchas gracias por contestar... pero estoy haciendo algo así int opcion; string opcion1;<br />opcion1 = (string)radTextBoxNombreHoja.Text .. me trae toda la cadena "{Id=1, Tipo= XX }"<br />opcion = (int)radTextBoxNombreHoja.Text.ToString();<br />no me funciona, me sale una excepcion. .. Por otro lado probé pasando el SelectedValue a un Text y ahi me muestra el 1 .. pero de igual manera si cojo el valor desde el text y lo asigno a un variable int ... me sale la misma excepcion, pues el Text tiene la misma cadena "{...}"Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-19117468.post-25670313639155184502009-11-26T15:48:47.178+01:002009-11-26T15:48:47.178+01:00En SelectedValue tienes el objeto completo. Para p...En SelectedValue tienes el objeto completo. Para poder acceder a sus propiedades tan sólo debes poner antes el tipo entre paréntesis si estás en C#, por ejemplo.<br /><br />(MiTipo) Combobox1.SelectedValueAnonymoushttps://www.blogger.com/profile/09406185496215325468noreply@blogger.comtag:blogger.com,1999:blog-19117468.post-29806276125295780322009-11-26T15:35:15.029+01:002009-11-26T15:35:15.029+01:00Hola tengo un problema, a ver si me ayudas por fav...Hola tengo un problema, a ver si me ayudas por favor... tengo el combobox y lo lleno apartir de una consulta de LINQ le asigno el DataSource, ValueMember y DisplayMember ... pero ahora quiero recuperar el valor del item seleccionado, no el text sino el value (lo que hay en el ValueMember) .. cuando utilizo el SelectedValue me trae una cadena {Id=1, Tipo="XX"} .. no se como extraer unicamente el 1 .. el value.Anonymousnoreply@blogger.com