Visual Basic.NET - Problema con datagridview

 
Vista:

Problema con datagridview

Publicado por Fernanda (27 intervenciones) el 09/07/2020 03:47:12
Hola a todos,

Tengo un datagridview, con tres columnas
1.- Botón Subir
2.- Ruta
3.- Observación

Al presionar el botón subir, me permite agregar documentos y grabarlos en una ruta específica y llena la columna Ruta, con la ruta donde quedó el documento (hasta aquí todo bien)

El problema, es que si quiero grabar los datos del datagridview asì tal cual les mencioné, al momento de pinchar sobre el botón grabar, me borra la columna Ruta.

Si ingreso cualquier observación y después grabo, no tengo ningún problema.(osea mantiene el dato ingresado por còdigo a Ruta)

Alguien sabe porque sucede? o como se puede solucionar?

Gracias !!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de melqui
Val: 436
Bronce
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con datagridview

Publicado por melqui (129 intervenciones) el 09/07/2020 08:11:48
fernanda

coloca tu codigo que tienes de tu datagridview para analizar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con datagridview

Publicado por Fernanda (27 intervenciones) el 09/07/2020 15:33:18
pasos:
1.- Ingreso al cellcontenclick ( para subir documento)
2.- Sale del cellcontenciclik
3- Muestra en pantalla lo subido (Nombre documento y ruta)
4.- Al Presionar el botón grabar, pierdo los datos del punto 3

Funciona si lo hago así:
1.- Ingreso al cellcontenclick ( para subir documento)
2.- Sale del cellcontenciclik
3- Muestra en pantalla lo subido (Nombre documento y ruta)
4.- Ingreso por pantalla una observación en la grilla
5.- bóton grabar

La observación no es obligatoria
No puedo grabar directamente en la tabla al subir documentos, porque debo hacer otras validaciones antes.


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
Private Sub dgvDocPorOperacion_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvDocPorOperacion.CellContentClick
        Cursor.Current = Cursors.WaitCursor
        'SubeArchivoOpe
 
        Dim path1 As String = Nz(SQL_getValue("DBO.[00parametros]", "Valor", "IdParametro =" & ParamDocto), "")
        If path1 = "" Then
            MsgBox("No se encuentra parametrizado el directorio para guardar documentos", vbExclamation)
            Exit Sub
        End If
        If dgvDocPorOperacion.Columns(e.ColumnIndex).Name = "SubeArchivoOpe" Then
            If (dgvDocPorOperacion.Rows(e.RowIndex).Cells("RutaDoc").Value) = "" Then
                If paramStr("42", "NO") <> "SI" Then
                    backupDir = getBackupDirectory(ParamDocto, v_IdOperUnico, 0)
                    Try
                        If Directory.Exists(backupDir) Then
                            dgvDocPorOperacion.Rows(e.RowIndex).Cells("RutaDoc").Value = getBackupDirectory(ParamDocto, v_IdOperUnico, 0, True)
                            dgvDocPorOperacion.Rows(e.RowIndex).Cells("NombreDoc").Value = fileName
                        Else
                            Dim di As DirectoryInfo = Directory.CreateDirectory(backupDir)
                            dgvDocPorOperacion.Rows(e.RowIndex).Cells("RutaDoc").Value = getBackupDirectory(ParamDocto, v_IdOperUnico, 0, True)
                            dgvDocPorOperacion.Rows(e.RowIndex).Cells("NombreDoc").Value = fileName
                        End If
                        dgvDocPorOperacion.Rows(e.RowIndex).Cells("CurDir").Value = Path.GetDirectoryName(sourceDir)
                    Catch ex As Exception
                        MsgBox("No se encontró carpeta para subir documento a la red, Revise Conexión", MsgBoxStyle.Critical)
                    End Try
                end if
       end if
end sub
 
Private Sub btnGrabar_Click(sender As System.Object, e As System.EventArgs) Handles btnGrabar.Click
      If hasFieldNullFicha("ope") = False Then
        copyFilesDoc("ope")
        For Each row As DataGridViewRow In dgvDocPorOperacion.Rows
            If dgvDocPorOperacion.Rows(row.Index).Cells("RutaDoc").Value <> "" Then
                '   MsgBox(dgvDocPorOperacion.Rows(row.Index).Cells("RutaDoc").Value)
                Graba(dgvDocPorOperacion.Rows(row.Index).Cells("RutaDoc").Value, _
                      dgvDocPorOperacion.Rows(row.Index).Cells("IdDocumento").Value, _
                      dgvDocPorOperacion.Rows(row.Index).Cells("NombreDoc").Value, _
                      dgvDocPorOperacion.Rows(row.Index).Cells("Observacion").Value, _
                      0)
            End If
        Next
        'copyFilesDoc("ope")
    End If
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 436
Bronce
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con datagridview

Publicado por melqui (129 intervenciones) el 09/07/2020 19:52:05
fernanda,

vea la interpretacion de tu codigo.

en el evento dgvDocPorOperacion.CellContentClick
estas haciendo una validacion de la columna ruta si es
1
(dgvDocPorOperacion.Rows(e.RowIndex).Cells("RutaDoc").Value) = ""
quiero que lea este bloco de codigo.

mas el en el vento
1
btnGrabar.Click
estas diciendo al codigo
si es diferente
1
If dgvDocPorOperacion.Rows(row.Index).Cells("RutaDoc").Value <> "" Then
de vazio no quiero que grave.

lo que estas errando es <>"" tienes que hacer una validacion y llamar
a este proceso que estas validando del primer trecho
1
dgvDocPorOperacion.Rows(e.RowIndex).Cells("RutaDoc").Value = getBackupDirectory(ParamDocto, v_IdOperUnico, 0, True)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 209
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con datagridview

Publicado por Javier (77 intervenciones) el 10/07/2020 00:24:32
Que haces en esta parte?

1
copyFilesDoc("ope")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 436
Bronce
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema con datagridview

Publicado por melqui (129 intervenciones) el 10/07/2020 00:32:54
el está comentado en tu codigo,
mas ese sirve copiar un archivo de un lugar a otro.
bueno yo lo use mucho para transferir archivos de formato .txt
desde el servidor de la empresa que trabajaba.
mas en este caso no es el problema esa porque está comentada, el problema es que al momento de subir un archivo estas informando el camino de un ruta, mas al momento de salvar ese camino no esta siendo confirmada, porque no estas passando un valor desde el datagrid para la base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con datagridview

Publicado por Fernanda (1 intervención) el 10/07/2020 04:34:22
gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con datagridview

Publicado por Fernanda (27 intervenciones) el 10/07/2020 04:36:52
Copio el o los archivos desde la ruta origen (pc local) a la ruta destino (servidor)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar