Foros del Web » Programación para mayores de 30 ;) » .NET »

Introducir texto en un campo de una tabla para visualizar en datagridview

Estas en el tema de Introducir texto en un campo de una tabla para visualizar en datagridview en el foro de .NET en Foros del Web. Buenas a todos, os pongo en situación, estoy realizando una aplicación en visual.net con una bases de datos de Access. (Utilizo visual studio 2010). Tengo ...
  #1 (permalink)  
Antiguo 22/02/2012, 05:53
 
Fecha de Ingreso: marzo-2011
Mensajes: 37
Antigüedad: 13 años, 1 mes
Puntos: 0
Introducir texto en un campo de una tabla para visualizar en datagridview

Buenas a todos, os pongo en situación, estoy realizando una aplicación en visual.net con una bases de datos de Access. (Utilizo visual studio 2010).

Tengo un datagridview llamada “datos” con los siguientes campos de una tabla (nombre, apellidos, un checkbox y comentarios). Nombre y apellidos tienen datos escritos pero el checkbox esta desmarcado y comentarios esta vacío.
Cuando selecciono en el checkbox del datagridview se me abre otro form que solo tiene un textbox y un botón aceptar. Lo que quiero hacer es que cuando haya escrito algo en el textbox y pulse el botón aceptar este me guarde en la tabla “datos” en el campo “Cometarios” lo que este escrito en el textbox y este me actualice el datagrid para que me salga el comentario en el.
El problema que tengo es que no sé cómo hacer para que me guarde en un solo campo de esa tabla lo escrito en el textbox y lo que considero mas complicado es que sepa en qué línea de la tabla tiene que guardarlo. Pongo un ejemplo de la tabla:

Así sería la tabla cuando la muestro en el datagridview

Nombre Apellidos checbox comentario
Javier lopez no seleccionado
Alberto martinez no seleccionado
Manuel fernandez no seleccionado

Así se tendría que ver, una vez he introducido el comentario en el textbox y se pulso el botón aceptar para introducir los datos en la base de datos y actualice el datagridview

Nombre Apellidos checbox comentario
Javier lopez no seleccionado
Alberto martinez seleccionado hemos hablado con el
Manuel fernandez no seleccionado

Lo difícil para mí es saber que tiene que introducir el comentario en la línea de Alberto Martínez en el campo comentario.

Os pongo un poco del código:
Este es el formulario donde se muestra el datagridview

Imports System.Data.OleDb

Public Class FrmSencuestas

Private Sub FrmSencuestas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.LstVendedor.Items.Add("Ángel Santos")
Me.LstVendedor.Items.Add("Antonio Codesido")
Me.LstVendedor.Items.Add("Cesar López")
Me.LstVendedor.Items.Add("Federico Reigosa")

Me.DataGridView1.Visible = False

End Sub

Private Sub LstVendedor_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LstVendedor.SelectedIndexChanged

DataGridView1.Rows.Clear()

conectarBD()

Dim SQLCargar As String
SQLCargar = "SELECT * FROM DatosSencuestas WHERE Vendedor LIKE '%" & LstVendedor.Text & "%' ORDER BY FechaVenta"

Dim da As New OleDb.OleDbDataAdapter(SQLCargar, conexion)
Dim ds As New Data.DataSet

Dim i As Integer

da.Fill(ds, "DatosSencuestas")

For i = 0 To ds.Tables("DatosSencuestas").Rows.Count - 1
DataGridView1.Rows.Add(ds.Tables("DatosSencuestas" ).Rows(i).Item(0).ToString, ds.Tables("DatosSencuestas").Rows(i).Item(1).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(2).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(3).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(4).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(6).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(7).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(8).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(9).ToStr ing, ds.Tables("DatosSencuestas").Rows(i).Item(10).ToSt ring)
If Me.DataGridView1.Rows(i).Cells("Contactado").Value = True Then 'Compueba que el checkbox de cada celda esta activado o no
Me.DataGridView1.Rows(i).Cells("contactado").ReadO nly = True 'Activa la propiedad de solo lectura para que no pueda ser modificado
End If
DataGridView1.Refresh()
Next
conexion.Close()

With Me.DataGridView1
.ColumnHeadersDefaultCellStyle.BackColor = Color.CornflowerBlue
.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
.RowHeadersDefaultCellStyle.BackColor = Color.LightGray
.Columns(0).Width = "100"
.Columns(1).Width = "170"
.Columns(2).Width = "180"
.GridColor = Color.Orange
.BorderStyle = BorderStyle.Fixed3D
.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
.AlternatingRowsDefaultCellStyle.BackColor = Color.Moccasin 'muestra otro color de fondo en las filas impares
.Columns("Nombre").ReadOnly = True
.Columns("Apellidos").ReadOnly = True
.Columns("Comentarios").ReadOnly = True
.Visible = True
End With

End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

If Me.DataGridView1.Rows(e.RowIndex).Cells("Contactad o").Value = True Then 'Devuelve un mensaje cuando el checkbox ya esta seleccionado
MessageBox.Show("Ya has contactado con el cliente")

dato = Me.DataGridView1.Rows(e.RowIndex).Cells("Comentari os").RowIndex

Else
Dim myFrmComentariosSencuestas As New FrmComentariosSencuestas
myFrmComentariosSencuestas.ShowDialog()
End If

End Sub

End Class

Y este es el formulario donde introduzco el comentario

Imports System.Data.OleDb

Public Class FrmComentariosSencuestas

Private Sub FrmComentariosSencuestas_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


End Sub

Private Sub BtnAcomentario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAcomentario.Click

If TxtComentarios.Text = "" Then
MessageBox.Show("Escribe un comentario")
Else

conectarBD()
'a partir de aqui no se como hacerlo
'me da error en la secuencia SQL no debe estar bien hecha
Dim SQLguardar As String
SQLguardar = "UPDATE DatosSencuestas SET '%" & TxtComentarios.Text & "%' WHERE Comentarios"

Dim oComando As New OleDbCommand(SQLguardar, conexion)

oComando.ExecuteNonQuery()
conexion.Close()

Me.Close()
MessageBox.Show("Comentario guardado en el seguimiento")
End If

End Sub

End Class


Espero que me haya explicado bien y me podáis ayudar. Un saludo y gracias.
  #2 (permalink)  
Antiguo 02/03/2012, 18:13
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 18 años, 5 meses
Puntos: 10
Respuesta: Introducir texto en un campo de una tabla para visualizar en datagridview

sencillo! cuando escribas las lineas de construccion, pide los parametros identificadores de tu registro, así cuando presiones el botón le indicas que ejecute el update, sólo ten en cuenta que debes invocarlo mediante ShowDialog, para que en tu formulario principal sepas cuando termina la ejecución del formulario hijo y pueda actualizar la consulta.

Código en el formulario padre:
Dim ForumarioEditar as new Formulario2(Nombre, Apellido)
FormularioEditar.ShowDialog()
actualizarGrid()

Código en el formulario Hijo:
'<Variables del formulario hijo>
Dim Nombre, Apellido as string

'<Función de construcción>
Public Sub New(ByVal Nombre as String, ByVal Apellido as String)
Me.Nombre = Nombre
Me.Apellido = Apellido
EndSub

'<Evento del Botón>
"Update <Tabla> Set" & Textbox1.Text & " where Nombre = '" & Me.Nombre & "' and Apellido = '" & Me.Apellido & "';"



Espero haber sido claro.
__________________
«~MaGax3iNeMD~»

Etiquetas: datagridview, introducir, net, sql, tabla, textbox, visual, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.