none
Como hacer un datagridView Editable RRS feed

Respuestas

  • ''DataGridView
                        Dim datosingresadosgrilla As New String(CType("Insert into DetalleCadena$ (CodigoCadena,CodigoMuestra,PuntoMuestreo,Localizacion,Ubicacion,FechaMuestra,HoraMuestra,TipoContenedor,Ncontenedor,Analisis1,Ma1,Pr1,Analisis2,Ma2,Pr2,Analisis3,Ma3,Pr3,Analisis4,Ma4,Pr4,Analisis5,Ma5,Pr5,Analisis6,Ma6,Pr6,Analisis7,Ma7,Pr7,Analisis8,Ma8,Pr8,Analisis9,Ma9,Pr9,Analisis10,Ma10,Pr10,Analisis11,Ma11,Pr11,Analisis12,Ma12,Pr12,Analisis13,Ma13,Pr13,Analisis14,Ma14,Pr14,Analisis15,Ma15,Pr15,Analisis16,Ma16,Pr16,Analisis17,Ma17,Pr17,Analisis18,Ma18,Pr18,Analisis19,Ma19,Pr19,Analisis20,Ma20,Pr20) values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18,@19,@20,@21,@22,@23,@24,@25,@26,@27,@28,@29,@30,@31,@32,@33,@34,@35,@36,@37,@38,@39,@40,@41,@42,@43,@44,@45,@46,@47,@48,@49,@50,@51,@52,@53,@54,@55,@56,@57,@58,@59,@60,@61,@62,@63,@64,@65,@66,@67,@68,@69)", Char()))
                        Dim cmdp As New SqlCommand(datosingresadosgrilla, cnx)
    
                        Dim fila As DataGridViewRow
    
                        For Each fila In dgvDetalle.Rows
                            If fila.Index = dgvDetalle.Rows.Count - 1 Then
                                Exit For
                            End If
                            cmdp.Parameters.Clear()
    
                            cmdp.Parameters.AddWithValue("@1", Me.txtCodCadena.Text)
                            cmdp.Parameters.AddWithValue("@2", Convert.ToString(fila.Cells("CodigoMuestra").Value))
                            cmdp.Parameters.AddWithValue("@3", Convert.ToString(fila.Cells("PuntoMuestreo").Value))
                            cmdp.Parameters.AddWithValue("@4", Convert.ToString(fila.Cells("Localizado").Value))
                            cmdp.Parameters.AddWithValue("@5", Convert.ToString(fila.Cells("Ubicacion").Value))
                            cmdp.Parameters.AddWithValue("@6", Convert.ToString(fila.Cells("FechaMuestra").Value))
                            cmdp.Parameters.AddWithValue("@7", Convert.ToString(fila.Cells("HoraMuestra").Value))
                            cmdp.Parameters.AddWithValue("@8", Convert.ToString(fila.Cells("TipodeContenedor").Value))
                            cmdp.Parameters.AddWithValue("@9", Convert.ToString(fila.Cells("Ncontenedor").Value))
    
                            cmdp.Parameters.AddWithValue("@10", Convert.ToString(fila.Cells("Analisis1").Value))
                            cmdp.Parameters.AddWithValue("@11", Convert.ToString(fila.Cells("Ma_1").Value))
                            cmdp.Parameters.AddWithValue("@12", Convert.ToString(fila.Cells("Pr_1").Value))
                            cmdp.Parameters.AddWithValue("@13", Convert.ToString(fila.Cells("Analisis2").Value))
                            cmdp.Parameters.AddWithValue("@14", Convert.ToString(fila.Cells("Ma_2").Value))
                            cmdp.Parameters.AddWithValue("@15", Convert.ToString(fila.Cells("Pr_2").Value))
                            cmdp.Parameters.AddWithValue("@16", Convert.ToString(fila.Cells("Analisis3").Value))
                            cmdp.Parameters.AddWithValue("@17", Convert.ToString(fila.Cells("Ma_3").Value))
                            cmdp.Parameters.AddWithValue("@18", Convert.ToString(fila.Cells("Pr_3").Value))
                            cmdp.Parameters.AddWithValue("@19", Convert.ToString(fila.Cells("Analisis4").Value))
                            cmdp.Parameters.AddWithValue("@20", Convert.ToString(fila.Cells("Ma_4").Value))
                            cmdp.Parameters.AddWithValue("@21", Convert.ToString(fila.Cells("Pr_4").Value))
                            cmdp.Parameters.AddWithValue("@22", Convert.ToString(fila.Cells("Analisis5").Value))
                            cmdp.Parameters.AddWithValue("@23", Convert.ToString(fila.Cells("Ma_5").Value))
                            cmdp.Parameters.AddWithValue("@24", Convert.ToString(fila.Cells("Pr_5").Value))
                            cmdp.Parameters.AddWithValue("@25", Convert.ToString(fila.Cells("Analisis6").Value))
                            cmdp.Parameters.AddWithValue("@26", Convert.ToString(fila.Cells("Ma_6").Value))
                            cmdp.Parameters.AddWithValue("@27", Convert.ToString(fila.Cells("Pr_6").Value))
                            cmdp.Parameters.AddWithValue("@28", Convert.ToString(fila.Cells("Analisis7").Value))
                            cmdp.Parameters.AddWithValue("@29", Convert.ToString(fila.Cells("Ma_7").Value))
                            cmdp.Parameters.AddWithValue("@30", Convert.ToString(fila.Cells("Pr_7").Value))
                            cmdp.Parameters.AddWithValue("@31", Convert.ToString(fila.Cells("Analisis8").Value))
                            cmdp.Parameters.AddWithValue("@32", Convert.ToString(fila.Cells("Ma_8").Value))
                            cmdp.Parameters.AddWithValue("@33", Convert.ToString(fila.Cells("Pr_8").Value))
                            cmdp.Parameters.AddWithValue("@34", Convert.ToString(fila.Cells("Analisis9").Value))
                            cmdp.Parameters.AddWithValue("@35", Convert.ToString(fila.Cells("Ma_9").Value))
                            cmdp.Parameters.AddWithValue("@36", Convert.ToString(fila.Cells("Pr_9").Value))
                            cmdp.Parameters.AddWithValue("@37", Convert.ToString(fila.Cells("Analisis10").Value))
                            cmdp.Parameters.AddWithValue("@38", Convert.ToString(fila.Cells("Ma_10").Value))
                            cmdp.Parameters.AddWithValue("@39", Convert.ToString(fila.Cells("Pr_10").Value))
                            cmdp.Parameters.AddWithValue("@40", Convert.ToString(fila.Cells("Analisis11").Value))
                            cmdp.Parameters.AddWithValue("@41", Convert.ToString(fila.Cells("Ma_11").Value))
                            cmdp.Parameters.AddWithValue("@42", Convert.ToString(fila.Cells("Pr_11").Value))
                            cmdp.Parameters.AddWithValue("@43", Convert.ToString(fila.Cells("Analisis12").Value))
                            cmdp.Parameters.AddWithValue("@44", Convert.ToString(fila.Cells("Ma_12").Value))
                            cmdp.Parameters.AddWithValue("@45", Convert.ToString(fila.Cells("Pr_12").Value))
                            cmdp.Parameters.AddWithValue("@46", Convert.ToString(fila.Cells("Analisis13").Value))
                            cmdp.Parameters.AddWithValue("@47", Convert.ToString(fila.Cells("Ma_13").Value))
                            cmdp.Parameters.AddWithValue("@48", Convert.ToString(fila.Cells("Pr_13").Value))
                            cmdp.Parameters.AddWithValue("@49", Convert.ToString(fila.Cells("Analisis14").Value))
                            cmdp.Parameters.AddWithValue("@50", Convert.ToString(fila.Cells("Ma_14").Value))
                            cmdp.Parameters.AddWithValue("@51", Convert.ToString(fila.Cells("Pr_14").Value))
                            cmdp.Parameters.AddWithValue("@52", Convert.ToString(fila.Cells("Analisis15").Value))
                            cmdp.Parameters.AddWithValue("@53", Convert.ToString(fila.Cells("Ma_15").Value))
                            cmdp.Parameters.AddWithValue("@54", Convert.ToString(fila.Cells("Pr_15").Value))
                            cmdp.Parameters.AddWithValue("@55", Convert.ToString(fila.Cells("Analisis16").Value))
                            cmdp.Parameters.AddWithValue("@56", Convert.ToString(fila.Cells("Ma_16").Value))
                            cmdp.Parameters.AddWithValue("@57", Convert.ToString(fila.Cells("Pr_16").Value))
                            cmdp.Parameters.AddWithValue("@58", Convert.ToString(fila.Cells("Analisis17").Value))
                            cmdp.Parameters.AddWithValue("@59", Convert.ToString(fila.Cells("Ma_17").Value))
                            cmdp.Parameters.AddWithValue("@60", Convert.ToString(fila.Cells("Pr_17").Value))
                            cmdp.Parameters.AddWithValue("@61", Convert.ToString(fila.Cells("Analisis18").Value))
                            cmdp.Parameters.AddWithValue("@62", Convert.ToString(fila.Cells("Ma_18").Value))
                            cmdp.Parameters.AddWithValue("@63", Convert.ToString(fila.Cells("Pr_18").Value))
                            cmdp.Parameters.AddWithValue("@64", Convert.ToString(fila.Cells("Analisis19").Value))
                            cmdp.Parameters.AddWithValue("@65", Convert.ToString(fila.Cells("Ma_19").Value))
                            cmdp.Parameters.AddWithValue("@66", Convert.ToString(fila.Cells("Pr_19").Value))
                            cmdp.Parameters.AddWithValue("@67", Convert.ToString(fila.Cells("Analisis20").Value))
                            cmdp.Parameters.AddWithValue("@68", Convert.ToString(fila.Cells("Ma_20").Value))
                            cmdp.Parameters.AddWithValue("@69", Convert.ToString(fila.Cells("Pr_20").Value))
    
                            cmdp.ExecuteNonQuery()
                        Next
    

    • Marcado como respuesta Javier Roque martes, 20 de marzo de 2018 4:47
    martes, 20 de marzo de 2018 4:47

Todas las respuestas

  • En general lo que debe aprender es vinculación a datos.  Existe para ASP.net, Windows Forms y WPF y funcionan muy parecido entre ellos.

    Para WPF y Windows Forms, puesto que el código es .net siempre (en ASP.net se transiciona entre HTML y .net), puede tenerse "feedback" inmediato acerca de los cambios generados en código a los datos si el objeto vinculado al control implementa la interfaz INotifyPropertyChanged.

    En resumen, necesita una lista de objetos que representen los datos.  Cada propiedad del objeto es se traduce a una columna en el DGV.  Si la propiedad es de sólo lectura, la columna también lo será; si la propiedad es de escritura, entonces la columna también.  Cualquier cambio a columnas editables automáticamente generará el cambio en el objeto correspondiente.  Para almacenar esto en una base de datos sería entonces cuestión de recorrer la lista de objetos y mandar un UPDATE para cada uno de los registros que fueron cambiados.


    Jose R. MCP
    Code Samples

    viernes, 9 de marzo de 2018 18:22
    Moderador
  • mmm ASP!! estoy trabajando con visual basic, es la primera ves que usare la forma de edicion de dgv puesto que estaba usando textbox para almacenar registros 1x1 pero me han pedido no hacer uno x uno sino ingresar todos directamente por un principo me dijeron maximo 20 filas 20 columnas entonces si hacia para 20 columnas tenia k hacer muchos controles textbox y se colgada todo entonces no era factible, entonces tengo que hacer como si estuvieran llenando un excel o un access, lo mas asequieble y parecido es hacer un datagridview editable de la forma como se ve. 

    Pero nose como guarde lo que escriba y que el codigo cadena genrado en un textbox se vincule al detalle o que este aparezca en esta datagrid quizas no visible.y solo muestre el codigo muestra que es el mismo codigo de cadena seguido x el consecutivo 01,02,03,04,05 segun items que registrar.

    Podria darme un ejemplo de como hacerlo?

    He encontrado un ejemplo en yotube pero  es c# y bueno el link de ejemplo no funciona.


    viernes, 9 de marzo de 2018 20:37
  • Pero este es el foro de Windows Forms.  Si es ASP.net, debió publicar allá.  En ASP.net webforms el control se llama GridView, no DataGridView.

    • ASP.net Webforms:  GridView
    • Windows Forms:  DataGridView (y el obsoleto DataGrid).
    • WPF:  DataGrid

    ¿Entonces desea hacer esto en ASP.net webforms?


    Jose R. MCP
    Code Samples

    viernes, 9 de marzo de 2018 20:41
    Moderador
  • Yo no soy ASP yo soy Visual Basic.net tampoco c#. Usted esta leyendo mal. Hare otra pregunta igual ya que no me entendieron.

    Alguien cierre esto,

    viernes, 9 de marzo de 2018 22:12
  • ''DataGridView
                        Dim datosingresadosgrilla As New String(CType("Insert into DetalleCadena$ (CodigoCadena,CodigoMuestra,PuntoMuestreo,Localizacion,Ubicacion,FechaMuestra,HoraMuestra,TipoContenedor,Ncontenedor,Analisis1,Ma1,Pr1,Analisis2,Ma2,Pr2,Analisis3,Ma3,Pr3,Analisis4,Ma4,Pr4,Analisis5,Ma5,Pr5,Analisis6,Ma6,Pr6,Analisis7,Ma7,Pr7,Analisis8,Ma8,Pr8,Analisis9,Ma9,Pr9,Analisis10,Ma10,Pr10,Analisis11,Ma11,Pr11,Analisis12,Ma12,Pr12,Analisis13,Ma13,Pr13,Analisis14,Ma14,Pr14,Analisis15,Ma15,Pr15,Analisis16,Ma16,Pr16,Analisis17,Ma17,Pr17,Analisis18,Ma18,Pr18,Analisis19,Ma19,Pr19,Analisis20,Ma20,Pr20) values(@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18,@19,@20,@21,@22,@23,@24,@25,@26,@27,@28,@29,@30,@31,@32,@33,@34,@35,@36,@37,@38,@39,@40,@41,@42,@43,@44,@45,@46,@47,@48,@49,@50,@51,@52,@53,@54,@55,@56,@57,@58,@59,@60,@61,@62,@63,@64,@65,@66,@67,@68,@69)", Char()))
                        Dim cmdp As New SqlCommand(datosingresadosgrilla, cnx)
    
                        Dim fila As DataGridViewRow
    
                        For Each fila In dgvDetalle.Rows
                            If fila.Index = dgvDetalle.Rows.Count - 1 Then
                                Exit For
                            End If
                            cmdp.Parameters.Clear()
    
                            cmdp.Parameters.AddWithValue("@1", Me.txtCodCadena.Text)
                            cmdp.Parameters.AddWithValue("@2", Convert.ToString(fila.Cells("CodigoMuestra").Value))
                            cmdp.Parameters.AddWithValue("@3", Convert.ToString(fila.Cells("PuntoMuestreo").Value))
                            cmdp.Parameters.AddWithValue("@4", Convert.ToString(fila.Cells("Localizado").Value))
                            cmdp.Parameters.AddWithValue("@5", Convert.ToString(fila.Cells("Ubicacion").Value))
                            cmdp.Parameters.AddWithValue("@6", Convert.ToString(fila.Cells("FechaMuestra").Value))
                            cmdp.Parameters.AddWithValue("@7", Convert.ToString(fila.Cells("HoraMuestra").Value))
                            cmdp.Parameters.AddWithValue("@8", Convert.ToString(fila.Cells("TipodeContenedor").Value))
                            cmdp.Parameters.AddWithValue("@9", Convert.ToString(fila.Cells("Ncontenedor").Value))
    
                            cmdp.Parameters.AddWithValue("@10", Convert.ToString(fila.Cells("Analisis1").Value))
                            cmdp.Parameters.AddWithValue("@11", Convert.ToString(fila.Cells("Ma_1").Value))
                            cmdp.Parameters.AddWithValue("@12", Convert.ToString(fila.Cells("Pr_1").Value))
                            cmdp.Parameters.AddWithValue("@13", Convert.ToString(fila.Cells("Analisis2").Value))
                            cmdp.Parameters.AddWithValue("@14", Convert.ToString(fila.Cells("Ma_2").Value))
                            cmdp.Parameters.AddWithValue("@15", Convert.ToString(fila.Cells("Pr_2").Value))
                            cmdp.Parameters.AddWithValue("@16", Convert.ToString(fila.Cells("Analisis3").Value))
                            cmdp.Parameters.AddWithValue("@17", Convert.ToString(fila.Cells("Ma_3").Value))
                            cmdp.Parameters.AddWithValue("@18", Convert.ToString(fila.Cells("Pr_3").Value))
                            cmdp.Parameters.AddWithValue("@19", Convert.ToString(fila.Cells("Analisis4").Value))
                            cmdp.Parameters.AddWithValue("@20", Convert.ToString(fila.Cells("Ma_4").Value))
                            cmdp.Parameters.AddWithValue("@21", Convert.ToString(fila.Cells("Pr_4").Value))
                            cmdp.Parameters.AddWithValue("@22", Convert.ToString(fila.Cells("Analisis5").Value))
                            cmdp.Parameters.AddWithValue("@23", Convert.ToString(fila.Cells("Ma_5").Value))
                            cmdp.Parameters.AddWithValue("@24", Convert.ToString(fila.Cells("Pr_5").Value))
                            cmdp.Parameters.AddWithValue("@25", Convert.ToString(fila.Cells("Analisis6").Value))
                            cmdp.Parameters.AddWithValue("@26", Convert.ToString(fila.Cells("Ma_6").Value))
                            cmdp.Parameters.AddWithValue("@27", Convert.ToString(fila.Cells("Pr_6").Value))
                            cmdp.Parameters.AddWithValue("@28", Convert.ToString(fila.Cells("Analisis7").Value))
                            cmdp.Parameters.AddWithValue("@29", Convert.ToString(fila.Cells("Ma_7").Value))
                            cmdp.Parameters.AddWithValue("@30", Convert.ToString(fila.Cells("Pr_7").Value))
                            cmdp.Parameters.AddWithValue("@31", Convert.ToString(fila.Cells("Analisis8").Value))
                            cmdp.Parameters.AddWithValue("@32", Convert.ToString(fila.Cells("Ma_8").Value))
                            cmdp.Parameters.AddWithValue("@33", Convert.ToString(fila.Cells("Pr_8").Value))
                            cmdp.Parameters.AddWithValue("@34", Convert.ToString(fila.Cells("Analisis9").Value))
                            cmdp.Parameters.AddWithValue("@35", Convert.ToString(fila.Cells("Ma_9").Value))
                            cmdp.Parameters.AddWithValue("@36", Convert.ToString(fila.Cells("Pr_9").Value))
                            cmdp.Parameters.AddWithValue("@37", Convert.ToString(fila.Cells("Analisis10").Value))
                            cmdp.Parameters.AddWithValue("@38", Convert.ToString(fila.Cells("Ma_10").Value))
                            cmdp.Parameters.AddWithValue("@39", Convert.ToString(fila.Cells("Pr_10").Value))
                            cmdp.Parameters.AddWithValue("@40", Convert.ToString(fila.Cells("Analisis11").Value))
                            cmdp.Parameters.AddWithValue("@41", Convert.ToString(fila.Cells("Ma_11").Value))
                            cmdp.Parameters.AddWithValue("@42", Convert.ToString(fila.Cells("Pr_11").Value))
                            cmdp.Parameters.AddWithValue("@43", Convert.ToString(fila.Cells("Analisis12").Value))
                            cmdp.Parameters.AddWithValue("@44", Convert.ToString(fila.Cells("Ma_12").Value))
                            cmdp.Parameters.AddWithValue("@45", Convert.ToString(fila.Cells("Pr_12").Value))
                            cmdp.Parameters.AddWithValue("@46", Convert.ToString(fila.Cells("Analisis13").Value))
                            cmdp.Parameters.AddWithValue("@47", Convert.ToString(fila.Cells("Ma_13").Value))
                            cmdp.Parameters.AddWithValue("@48", Convert.ToString(fila.Cells("Pr_13").Value))
                            cmdp.Parameters.AddWithValue("@49", Convert.ToString(fila.Cells("Analisis14").Value))
                            cmdp.Parameters.AddWithValue("@50", Convert.ToString(fila.Cells("Ma_14").Value))
                            cmdp.Parameters.AddWithValue("@51", Convert.ToString(fila.Cells("Pr_14").Value))
                            cmdp.Parameters.AddWithValue("@52", Convert.ToString(fila.Cells("Analisis15").Value))
                            cmdp.Parameters.AddWithValue("@53", Convert.ToString(fila.Cells("Ma_15").Value))
                            cmdp.Parameters.AddWithValue("@54", Convert.ToString(fila.Cells("Pr_15").Value))
                            cmdp.Parameters.AddWithValue("@55", Convert.ToString(fila.Cells("Analisis16").Value))
                            cmdp.Parameters.AddWithValue("@56", Convert.ToString(fila.Cells("Ma_16").Value))
                            cmdp.Parameters.AddWithValue("@57", Convert.ToString(fila.Cells("Pr_16").Value))
                            cmdp.Parameters.AddWithValue("@58", Convert.ToString(fila.Cells("Analisis17").Value))
                            cmdp.Parameters.AddWithValue("@59", Convert.ToString(fila.Cells("Ma_17").Value))
                            cmdp.Parameters.AddWithValue("@60", Convert.ToString(fila.Cells("Pr_17").Value))
                            cmdp.Parameters.AddWithValue("@61", Convert.ToString(fila.Cells("Analisis18").Value))
                            cmdp.Parameters.AddWithValue("@62", Convert.ToString(fila.Cells("Ma_18").Value))
                            cmdp.Parameters.AddWithValue("@63", Convert.ToString(fila.Cells("Pr_18").Value))
                            cmdp.Parameters.AddWithValue("@64", Convert.ToString(fila.Cells("Analisis19").Value))
                            cmdp.Parameters.AddWithValue("@65", Convert.ToString(fila.Cells("Ma_19").Value))
                            cmdp.Parameters.AddWithValue("@66", Convert.ToString(fila.Cells("Pr_19").Value))
                            cmdp.Parameters.AddWithValue("@67", Convert.ToString(fila.Cells("Analisis20").Value))
                            cmdp.Parameters.AddWithValue("@68", Convert.ToString(fila.Cells("Ma_20").Value))
                            cmdp.Parameters.AddWithValue("@69", Convert.ToString(fila.Cells("Pr_20").Value))
    
                            cmdp.ExecuteNonQuery()
                        Next
    

    • Marcado como respuesta Javier Roque martes, 20 de marzo de 2018 4:47
    martes, 20 de marzo de 2018 4:47