none
Edicion de DataGridView en tiempo de ejecucion RRS feed

  • Pregunta

  • Buenos Dias, parte del codigo de editar las celdas yo he colocado esto. Claro antes yo filtro por codigo y me llena el dgv entonces le digo editar pongo dgv readonly false y defino a la ves a las columnas false.

    Luego pongo esta consulta

    Dim datoseditgrilla As New String(CType("Update DetalleCadena$ set CodigoCadena=@1,CodigoMuestra=@2,PuntoMuestreo=@3,Localizacion=@4,Ubicacion=@5,FechaMuestra=@6,HoraMuestra=@7,TipoContenedor=@8,Ncontenedor=@9,Analisis1=@10,Ma1=@11,Pr1=@12,Analisis2=@13,Ma2=@14,Pr2=@15,Analisis3=@16,Ma3=@17,Pr3=@18,Analisis4=@19,Ma4=@20,Pr4=@21,Analisis5=@22,Ma5=@23,Pr5=@24,Analisis6=@25,Ma6=@26,Pr6=@27,Analisis7=@28,Ma7=@29,Pr7=@30,Analisis8=@31,Ma8=@32,Pr8=@33,Analisis9=@34,Ma9=@35,Pr9=@36,Analisis10=@37,Ma10=@38,Pr10=@39,Analisis11=@40,Ma11=@41,Pr11=@42,Analisis12=@43,Ma12=@44,Pr12=@45,Analisis13=@46,Ma13=@47,Pr13=@48,Analisis14=@49,Ma14=@50,Pr14=@51,Analisis15=@52,Ma15=@53,Pr15=@54,Analisis16=@55,Ma16=@56,Pr16=@57,Analisis17=@58,Ma17=@59,Pr17=@60,Analisis18=@61,Ma18=@62,Pr18=@63,Analisis19=@64,Ma19=@65,Pr19=@66,Analisis20=@67,Ma20=@68,Pr20=@69 where CodigoMuestra =@2", Char())) Dim cmdp As New SqlCommand(datoseditgrilla, cnx) Dim fila As DataGridViewRow For Each fila In dgvDetalle2.Rows If fila.Index = dgvDetalle2.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("Localizacion").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("TipoContenedor").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("Ma1").Value)) cmdp.Parameters.AddWithValue("@12", Convert.ToString(fila.Cells("Pr1").Value)) cmdp.Parameters.AddWithValue("@13", Convert.ToString(fila.Cells("Analisis2").Value)) cmdp.Parameters.AddWithValue("@14", Convert.ToString(fila.Cells("Ma2").Value)) cmdp.Parameters.AddWithValue("@15", Convert.ToString(fila.Cells("Pr2").Value))

    ..

       cmdp.ExecuteNonQuery()
                        Next

    Esto es parte del código respecto a la grilla lo demas es respecto a textbox el problema es la edicion no lo hace dice  el mje datos modificados pero he probado y no lo realiza.

    Un filtro se ve asi.

    Entonces yo por ejemplo modifique la -02 donde dice salida skim tk le puse Salida Skim TK guarde salio datos modificados pero nada lo volvi a cargar y esta igual.

    Que estoy realizando mal?

    Saludos


    jueves, 22 de marzo de 2018 13:20

Respuestas

Todas las respuestas

  • He añadido la linea

    oDataAdapter.Update(oDataTable)
    oDataTable.AcceptChanges()

    Pero sale este error:

    La actualización requiere un UpdateCommand válido cuando se pasa la colección DataRow con filas modificadas
    Alguna solución al respecto por favor.

    Gracias

    viernes, 23 de marzo de 2018 1:02
  • Solucionado buscando informacion:

    Propiedad SqlDataAdapter.UpdateCommand

    la solucion fue hacer unos cambios a la linea 

    oDataAdapter.UpdateCommand = cmdp
    oDataTable.AcceptChanges()

    Esta linea va antes del 

     cmdp.ExecuteNonQuery()
    Next

    Saludos

    • Marcado como respuesta Javier Roque viernes, 23 de marzo de 2018 1:13
    viernes, 23 de marzo de 2018 1:12