tag:blogger.com,1999:blog-7361892840793499128.post7486896214991288838..comments2024-02-15T01:02:26.245-08:00Comments on Leandro Tuttini Blog: [DataGridView] - ComboBox y evento SelectedIndexChangedAnonymoushttp://www.blogger.com/profile/01910634216468650091noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-7361892840793499128.post-80899743189393074532018-09-29T16:11:49.786-07:002018-09-29T16:11:49.786-07:00Hola Leandro, tengo el siguiente código que me da ...Hola Leandro, tengo el siguiente código que me da el error <br />No se controló System.NullReferenceException<br /> Message="Referencia a objeto no establecida como instancia de un objeto."<br /><br /> Private Sub DataGridView3_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView3.EditingControlShowing<br /> If e.Control.GetType() Is GetType(DataGridViewComboBoxEditingControl) Then<br /> RemoveHandler CType(e.Control, DataGridViewComboBoxEditingControl).Leave, New EventHandler(AddressOf ComboBox_Leave)<br /> CType(e.Control, DataGridViewComboBoxEditingControl).DropDownStyle = ComboBoxStyle.DropDown<br /> AddHandler CType(e.Control, DataGridViewComboBoxEditingControl).Leave, New EventHandler(AddressOf ComboBox_Leave)<br /> End If<br /> End Sub Anonymoushttps://www.blogger.com/profile/02867200396163896337noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-7143656962872716792017-07-30T17:55:11.331-07:002017-07-30T17:55:11.331-07:00Hola! me podrias guiar como hiciste para darle for...Hola! me podrias guiar como hiciste para darle formato, yo necesito que realice una multiplicacion de dos columnas! muchas gracias!Anonymoushttps://www.blogger.com/profile/08681971995641112257noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-91395207781320339622017-07-23T20:47:44.330-07:002017-07-23T20:47:44.330-07:00Este comentario ha sido eliminado por el autor.Anonymoushttps://www.blogger.com/profile/16375881827460796295noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-68562778238936426332017-05-26T12:06:20.239-07:002017-05-26T12:06:20.239-07:00hola
No aconsejo que definas combos dependientes u...hola<br />No aconsejo que definas combos dependientes uno del otro dentro de un grid editable, es para problemas.<br />Selecciona el grid una row y edita el registro en un form que abras como popup, de esta forma tendras control sobre los combos que se deplegues, cuando aceptas grabas los cambios y actualizas el grid.<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-61362818404546869792017-05-24T20:24:10.979-07:002017-05-24T20:24:10.979-07:00hola leandro buen dia,tengo un problema que no piu...hola leandro buen dia,tengo un problema que no piuedo resolver, espero me puedas ayudar:<br /><br />tengo un datagridview con 2 campos de combobox(Almacen y Ubicacion), el combo de almacen lo cargo con un campo de sql desde el evento Load del formulario y todo bien muestra los elementos.<br /><br />el problema es que al seleccionar un elemento se deberan cargar los elementos del combo Ubicacion segun lo seleccionado, y al omento de seleccionar el valor del primer combo box se carga bien los elementops relacionados. pero cuando paso al segundo row y selecciono el valor del combo Almacen los elementos del segundo de el primer row se borran y se cargan los elementos del almacen pero del segundo row.<br /><br />disculpa si mi explicacion no es tan clara pero es como lo puedo explicar, te agradesco mucho tu tiempo la verdad estoy muy desesperado.<br /><br />gracias.Aldebaranhttps://www.blogger.com/profile/08961239317497819538noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-78733797543967402142016-07-09T14:54:18.297-07:002016-07-09T14:54:18.297-07:00buen aporte muchas gracias buen aporte muchas gracias Anonymoushttps://www.blogger.com/profile/01252526289502898960noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-35766490246039393552016-01-28T06:20:34.691-08:002016-01-28T06:20:34.691-08:00Muchas gracias por la solución al problema, me ha ...Muchas gracias por la solución al problema, me ha funcionado de maravilla, muy bien explicado y aun a casi 6 años que fue publicado sigue siendo de utilidad, saludos.Ariel Quispe Sepúlvedahttps://www.blogger.com/profile/12243975857562680565noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-49265101244718670992015-12-05T22:41:16.089-08:002015-12-05T22:41:16.089-08:00Leandro Solo para agradecerte segui tus tutos y lo...Leandro Solo para agradecerte segui tus tutos y lo aplique a dos ComboBoxCells de un grid. Los combos cargan diferentes datos dependiendo del proveedor que se esta imprimiendo en el Grid,Una vez llenado el grid el usuario puede seleccionar un dato diferente en el primer combo y el segundo combo se vuelve a cargar pero ahora con datos que esta relacionados al primer combo, y asi en las demas filas, en fin tenia 2 semanas quebrandome la cabeza y al fin Graxias a ti lo solucione. Saludos desde Mexico XD!xhttps://www.blogger.com/profile/08347706585227264730noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-43398577904414169202015-09-02T15:07:30.269-07:002015-09-02T15:07:30.269-07:00yo también estoy atorado con el combobox en un dat...yo también estoy atorado con el combobox en un datagridview, ya obtengo un valor, clave, pero quisiera mostrar nombre y existencia, lo puedo hacer pero concatenando y me regresa el valor concatenado, ayuda por favor<br />Gracias el etorhttps://www.blogger.com/profile/10065515495605623779noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-10091110270745765282015-08-13T06:20:10.336-07:002015-08-13T06:20:10.336-07:00hola
Recuerda que el campos que defines en el Data...hola<br />Recuerda que el campos que defines en el DataPropertyName de la columna tipo combobox debe coincidir con la que definas como ValueMember o sea solo seleccionara si el valor asignado a la columna del grid coincida con un valor de value del combobox<br />El combo de la columna debiste haberlo asignado por medio del DataSource asignando ValueMember y DisplayMember <br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-10391567885270460462015-08-07T12:17:21.954-07:002015-08-07T12:17:21.954-07:00Estimado Jorge, me imagino que ha estas alturas ya...Estimado Jorge, me imagino que ha estas alturas ya resolviste este inconveniente que planteas, yo tambien tengo el mismo problema, por favor te ruego me ayudes con la solucion......Avances tecnológicos y científicoshttps://www.blogger.com/profile/04966803937115763637noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-52111864421164975392015-08-07T12:15:04.743-07:002015-08-07T12:15:04.743-07:00Hola Leandro porfavor tengo el mismo problea que J...Hola Leandro porfavor tengo el mismo problea que Jorge:<br /> "El problema surge cuando tengo q asignar la informacion recuperada de la consulta al DataGridView especificamente a las columnas DataGridViewComboBox"<br />Tengo la columna combo "cursos", enlazada a una tabla(carga todos los cursos ofrecidos para los alumnos), Cuando ejecuto la consulta para saber los cursos que un alumno "x" a tomado, carga todas las columnas, menos la columna combo "cursos", es decir; no esta asignando el valor de la consulta, es como si el index del combo permanece en -1, entonces no muestra dato alguno... por favor tu ayuda urgente.... Avances tecnológicos y científicoshttps://www.blogger.com/profile/04966803937115763637noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-67158414311174551512014-07-30T07:26:50.887-07:002014-07-30T07:26:50.887-07:00Hola Leandro, Muchisimas gracias!!
me sirvio basta...Hola Leandro, Muchisimas gracias!!<br />me sirvio bastante el ejemplo que hiciste. <br />saludos.Anonymoushttps://www.blogger.com/profile/05124103082884138353noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-24935822962171720342014-07-29T10:55:00.593-07:002014-07-29T10:55:00.593-07:00hola ronny
actualice los link del codigo asi pue...hola ronny <br /><br />actualice los link del codigo asi puedes descargar los ejemplos<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-77427474411540786712014-07-28T13:44:43.356-07:002014-07-28T13:44:43.356-07:00hola Leandro
me preguntaba si me podrias ayudar a...hola Leandro <br />me preguntaba si me podrias ayudar a como llamar esta linea de código<br />que pusiste aqui.<br />DataGridViewComboBoxEditingControl dgvCombo = e.Control as DataGridViewComboBoxEditingControl; <br />04. <br /><br />es que el ejemplo en VB no funciona, no puedo descargarlo y deverdad seria de mucha ayudaAnonymoushttps://www.blogger.com/profile/05124103082884138353noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-44000075924695427042014-06-10T19:16:45.388-07:002014-06-10T19:16:45.388-07:00hola Abel
el evento CellEndEdit es un buen event...hola Abel <br /><br />el evento CellEndEdit es un buen evento para tomar la seleccion de una celda<br /><br />pero no necesitas lo del EventHandler en el SelectedIndexChanged del combo ya que podrias tomar directo el Value de la celda para tomar la seleccion<br /><br />si usas el SelectedIndexChanged se asocia en el evento EditingControlShowing<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-10561833007650156252014-06-10T03:05:57.027-07:002014-06-10T03:05:57.027-07:00Hola Leandro, te deje el codigo en el enlace de Me...Hola Leandro, te deje el codigo en el enlace de Mega<br /><a href="https://mega.co.nz/#!TRwWHQIZ!PdiA23eUGHTlif17L20saXPrv7QkE9FP7mbiXm7cums" rel="nofollow">enlace</a> No entiendo lo que me quieres decir.<br /><br />Yo estoy usando los mismos eventos que explicas en este tutorial.<br /><br />Por cierto creo que lo he arreglado.<br /><br />En el evento CellEndEdit despues de usar<br />private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)<br /> {<br /> if (dgvCombo != null)<br /> {<br /> dgvCombo.SelectedIndexChanged -= new EventHandler(dvgCombo_SelectedIndexChanged);<br /><br />Aqui uso mi código para seleccionar la row seleccionada y cargar los datos} <br /><br /><br />Un saludo y grácias por la ayuda.<br />PD: lo del sqlite lo probaré en poder.Anonymoushttps://www.blogger.com/profile/12877614926946541299noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-25181042780999238072014-06-08T21:19:29.774-07:002014-06-08T21:19:29.774-07:00hola Abel
cuando usas esta linea
row.Cells[posici...hola Abel<br /><br />cuando usas esta linea<br />row.Cells[posicion].Value = variables;<br />como determinar la posicion ? o sea, usas el CurrentRow <br /><br />porque entiendo que quizas no cargue nada porque en el messagebox de la img2 no aparece ningun valor, recuerda que hay eventos que no reaccionan hasta que no termines de editar la celda<br />estas usando el evento SelectedIndexChanged del combo que esta en el grid?<br /><br />entiendo que el sqlite solo requiere que junto al .exe pongas la dll de la libreria de ado.net<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-46231305109773919452014-06-08T07:29:27.405-07:002014-06-08T07:29:27.405-07:00Hola Leandro, añado una duda más que no se donde e...Hola Leandro, añado una duda más que no se donde exponerla.<br /><br />Yo tengo el programa creado con el framework 4.5.1 y usando sqlite. Si cogo mi proyecto y voy a un pc que no dispone de SQlite no funciona el programa.<br />Como soluciono este problema? como puedo hacer un instalador que instale en la máquina del cliente los archivos necesarios como actualizacion del framework y sqlite?<br /><br />Un saludoAnonymoushttps://www.blogger.com/profile/12877614926946541299noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-55719614527124993272014-06-08T06:26:51.120-07:002014-06-08T06:26:51.120-07:00Hola Leandro, es verdad como me indicas estaba com...Hola Leandro, es verdad como me indicas estaba cometiendo un error ahí, pero el problema sigue siendo el mismo.<br />Bueno me intento explicar mejor, te subo el código de la clase a mega:<br /><br />https://mega.co.nz/#!TRwWHQIZ!PdiA23eUGHTlif17L20saXPrv7QkE9FP7mbiXm7cums<br /><br />/------------------------------------------------------------/<br /><br />Te comento, abro el formulario de presupuesto y me carga un datagridview vacio con 1 linea para seleccionar el comboBox (img1). Una vez selecciono la referencia del comboBox (ejmplo 123) salta el messagebox para ver que valor obtiene, y este me muestra que vale '' (img2) y como puedes observar, marca el checkbox.<br /><br />Bueno, acepto los messagebox que saltan y me crea una 2 linea (img3), que como puedes observar no muestra nada, osea no ha rellenado ningun campo. Al parecer sigue en modo editar celda por lo que me salgo de esta celda pulsando otra cualquiera.<br />Yo lo que pretendo es, que al seleccionar el elemento del comboBox la consulta a la base de datos recupere esos datos y los carge en las celdas por eso uso row.Cells[posicion].Value = variables;<br /><br />Eso si, lo hace correctamente (carga las variables en las celdas) cuando vuelvo a situarme en referencia, despues de haber salido del evento cellEndEdit como puedes observar en las img4, img5 y img6<br /><br />A ver si sabes donde estoy fallando jeje que yo no se que usar ya para no fallar. Si intento usar otro evento como cellValueChanged no llego ni a entrar al formulario de presupuesto me "peta" <br /><br />Adjunto Imagenes:<br /><br /><a href="http://www.subirimagenes.com/imagen-img1-8946499.html" rel="nofollow">Img1</a><br /><br /><a href="http://www.subirimagenes.com/imagen-img2-8946500.html" rel="nofollow">Img2</a><br /><br /><a href="http://www.subirimagenes.com/imagen-img3-8946501.html" rel="nofollow">Img3 </a><br /><br /><a href="http://www.subirimagenes.com/imagen-img4-8946502.html" rel="nofollow">Img4</a><br /><br /><a href="http://www.subirimagenes.com/imagen-img5-8946503.html" rel="nofollow">Img5</a><br /><br /><a href="http://www.subirimagenes.com/imagen-img6-8946504.html" rel="nofollow">Img6</a><br /><br />Un saldo y muchas grácias, eres un genio con estos temas ;)Anonymoushttps://www.blogger.com/profile/12877614926946541299noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-16288527724145672302014-06-07T22:01:27.693-07:002014-06-07T22:01:27.693-07:00hola Abel
la verdad no creo haber entendido el p...hola Abel <br /><br />la verdad no creo haber entendido el problema mas que nada porque no veo en que contexto estas trabajando<br />ese codigo en que evento lo defines ?<br /><br />ademas si haces esto<br />string refer = <i>Convert.ToString(row.Cells[1].Value);</i><br />o sea tomas el valor de la celda 1, porque despues veo que usas<br /><i>row.Cells[1].Value = descri;</i><br />o sea no tinees que volver asignar la celda de la cual extraes para definir el parametro de la query<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-1162799971548152582014-06-07T13:32:22.334-07:002014-06-07T13:32:22.334-07:00Hola Leandro siguiendo tu consejo de visitar este ...Hola Leandro siguiendo tu consejo de visitar este tutorial te comento que tengo un problema.<br /><br />Al seleccionar un dato del combobox (una referencia de producto) se ejecuta bien pero intento capturar en ese mismo el valor del seleccionado y es null por lo que al realizar la consulta a la base de datos no devuelve nada.<br /><br />Entonces para que me escriba el pvp de ese producto y la cantidad que hay tengo que volver a entrar en modo edición del combobox y ahora si funciona.<br /><br />Como hago para solucionar este problema? (el check lo hace al instante de entrar en modo edición, pero el resto no).<br /><br />Tengo el mismo codigo que en la 2 parte esta del tutorial y añado lo siguiente<br /><br />ComboBox combo = sender as ComboBox;<br /> DataGridViewRow row = dataGridView1.CurrentRow;<br /> DataGridViewCheckBoxCell cell = row.Cells["Seleccionado"] as DataGridViewCheckBoxCell;<br /> cell.Value = true;<br /><br /> //<br /><br /> string descri;<br /> int precioPublico, desc, cant;<br /><br /> string refer = Convert.ToString(row.Cells[1].Value);<br /> DataGridViewComboBoxCell comboCell = row.Cells["comboRef"] as DataGridViewComboBoxCell;<br /><br /><br /> int posicionFila = Convert.ToInt32(row.Index);<br /> //EMPEZAMOS<br /> conexion = new SQLiteConnection("Data Source=NeumaticosMarino.sqlite;Version=3;New=False;Compress=True;");<br /> conexion.Open();<br /><br /> MessageBox.Show("Que vale refer = '" + refer + "'", "Registro");<br /><br /> //Realizamos la consulta con la referencia seleccionada<br /> string consulta1 = "select * from producto where Referencia = '" + refer + "'";<br /><br /> //Creamos el objeto cmd y lo ejecutamos con el adaptador<br /> SQLiteCommand cmd = new SQLiteCommand(consulta1, conexion);<br /> SQLiteDataAdapter adaptador = new SQLiteDataAdapter(cmd);<br /> //Creamos un objeto DataTable para guardar la fila obtenida<br /> DataTable dt = new DataTable();<br /> adaptador.Fill(dt);<br /> //Creamos una fila virtual para guardar los datos de la consulta y poder extraerlos<br /><br /> if (dt.Rows.Count > 0)<br /> {<br /> DataRow fila = dt.Rows[0];<br /> descri = Convert.ToString(fila["Descripcion"]);<br /> precioPublico = Convert.ToInt32(fila["PVP"]);<br /> desc = Convert.ToInt32(fila["Descuento"]);<br /> cant = Convert.ToInt32(fila["Cantidad"]);<br /><br /> row.Cells[1].Value = descri;<br /> row.Cells[2].Value = precioPublico;<br /> row.Cells[3].Value = desc;<br /> row.Cells[4].Value = cant;<br /><br /> }<br /> else<br /> MessageBox.Show("No Existe", "Registro");<br /> conexion.Close();<br /><br />Explicame donde puedo meter este codigo. <br />Un saludo.Anonymoushttps://www.blogger.com/profile/12877614926946541299noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-12561063359903564212014-05-02T01:16:56.488-07:002014-05-02T01:16:56.488-07:00exactamente tengo un problema similar tengo una gr...exactamente tengo un problema similar tengo una grilla que en su columna 1 debe de tener un campo autocompletado ese ya lo tengo y en la columna 4 el usuario debe de escribir solo numero el problema esta en que al asociar los eventos aunque los 2 controles tienen nombre diferente me toma los mismo valores este es mi codigo:<br /><br /> claveProducto = CType(e.Control, TextBox)<br /> cantidad = CType(e.Control, TextBox)<br /> 'dando formato a la celda que debe de mostrar el contro autocompletar<br /> claveProducto.AutoCompleteMode = AutoCompleteMode.SuggestAppend<br /> claveProducto.AutoCompleteSource = AutoCompleteSource.CustomSource<br /> claveProducto.AutoCompleteCustomSource = autocompletarProductos<br /> claveProducto.CharacterCasing = CharacterCasing.Upper<br /> AddHandler claveProducto.KeyDown, AddressOf claveProducto_keyDown<br /><br /> dgvCompras.CurrentRow.Cells(0).Value = claveProducto<br /><br /> ' estableciendo el formato para la celda de cantidad unidamente debe de admitir numeros<br /> AddHandler cantidad.KeyPress, AddressOf cantidad_keypress<br /> dgvCompras.CurrentRow.Cells(4).Value = cantidad<br /> dgvCompras.CurrentRow.Cells(4).Value = ""<br />vriks87https://www.blogger.com/profile/01732051273019102898noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-82863822872831666572013-11-15T03:11:12.511-08:002013-11-15T03:11:12.511-08:00hola Nelson
no entendi al relacion entre el Cell...hola Nelson <br /><br />no entendi al relacion entre el CellFormatting y la columna de tipo combo, porque hasta donde imagino esta columna deberias evitarla en el Cellformatting<br /><br />la columna combo deberia tener un campo que defina el DatapropertyName y asi poder determinar que valor seleccionar cuando asignes el Datasource<br /><br />por supuesto la propiedad que definas en el DatapropertyName deberia coincidir con los datoa que usaste para cargar los items del combo<br /><br />a donde voy es que el Cellformatting en este caso no aplicaria, deberias validar que la columna es la del combo y saltearla<br /><br />saludosAnonymoushttps://www.blogger.com/profile/01910634216468650091noreply@blogger.comtag:blogger.com,1999:blog-7361892840793499128.post-33518538643687535852013-11-14T14:27:21.296-08:002013-11-14T14:27:21.296-08:00hola leandro vi tus ejercicios y revice tu ejemplo...hola leandro vi tus ejercicios y revice tu ejemplo que por cierto es muy interesante ver los efectos que pueden tener los eventos, quiero consultarte sobre un tema similar.<br /><br />tengo un datagridview el cual tiene el evento CellFormating este me permite formatear ciertas formulas que yo ingreso y mostrar su resultado me funciona bien. ya que al hacer click me muestrar la formula aritmetica y al salir de la celda queda el resultado de esa formula, pero le acabo de cambiar una columna por un DataGridViewComboBox, este esta enlazado con la Base de Datos. en el DisplayMember Cargo los nombres que quiero mostrar , y en ValueMember el codigo, El problema es que al selecionar un Item(nombre) del DataGridViewComboBox establese el codigo mas no el nombre que quiero mostrar me espero me pueda ayudar.. porfavor.. Anonymoushttps://www.blogger.com/profile/13275260708194118789noreply@blogger.com