Sv Community El Salvador

Soporte y Tecnología => Programación => .NET => Mensaje iniciado por: josuenmanuel en marzo 25, 2011, 02:50:00 pm

Título: Trabajando con un datagrid
Publicado por: josuenmanuel en marzo 25, 2011, 02:50:00 pm
hola a todos:
bueno les cuento que tengo algunos problemas con el control datagridview.
En primer lugar les comento que la idea es guardar datos desde el mismo datagridview , es decir que el usuario escriba ahi los datos y de clic en un boton guardar y se guarden en una base de datos.
yo siempre e trabajado ingresando los datos desde texbox y luego mostrarlos en el datagridview, pero nunca e hecho que los escriban en el mismo datagridview y los guarde. Me gustaria saber si alguien me podia dar una idea de como se hace esto.
Les comento que de alguna forma el problema anterior mas o menos tengo idea de solucionarlo, sin embargo tengo otro evento que me urge solucionarlo mas.
Lo que sucede es que necesito que en el datagridview el usuario pueda dar clic en una celda y que este le abra un cuadro de dialogo, desde donde va a seleccionar un dato y luego este se va a agregar automaticamente a la celda seleccionada.¿Alguna idea de como hacer esto?, bueno gracias por su ayuda, ya e buscado toda la mañana una solucion practica en google pero no me convence .
Ok gracias
Título: Re: Trabajando con un datagrid
Publicado por: Darkness en marzo 25, 2011, 03:27:45 pm
Lo que sucede es que necesito que en el datagridview el usuario pueda dar clic en una celda y que este le abra un cuadro de dialogo, desde donde va a seleccionar un dato y luego este se va a agregar automaticamente a la celda seleccionada.¿Alguna idea de como hacer esto?, bueno gracias por su ayuda, ya e buscado toda la mañana una solucion practica en google pero no me convence .
Ok gracias


Yo tube un problema parecido y esta fue la forma de como lo solucione....

1- Yo lleno el data grid partiendo de varios textbox
2- Tengo una columna denominada lote [la cual necesito que sea modificable]
3- Tengo un formulario llamado ListaSeleccion
4- Regreso el valor seleccionado a la celda correspondiente

Basicamente en funcionamiento es el siguiente
Mediante el evento  DataGridView1_CellDoubleClick
lo primero que hago es validar si el usuario dio doble click sobre la columna "lote"
Si se cumple capturo el codigo del articulo
luego defino el string de sql [es una variable publica]
Muestro el formulario ListaSeleccion [en el load de este realizo la ejecucion del string]
Luego mediante esta linea DataGridView1.CurrentCell.Value = CampoSeleccionado1
agrego el valor que el usaurio selecciono

Nota: CampoSeleccionado1 es una variable publica la cual se leasigna el valor que seleeciono el usuario en el formulario ListaSeleccion.

Código: [Seleccionar]
Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
'DataGridView1.CurrentCell.Value = ""
        If DataGridView1.Columns(e.ColumnIndex).Name = "Lote" Then
            Dim CodigoArt = Trim(DataGridView1.Rows(DataGridView1.CurrentCellAddress.Y).Cells(0).Value)
            TipoLista = "SELECT lote,articulo,fecha_vence" & _
                        " FROM " & BaseDatos & ".lote where estado = 'A' and articulo = '" & CodigoArt & "' "

            ListaSeleccion.ShowDialog()
            DataGridView1.CurrentCell.Value = CampoSeleccionado1
        End If

    End Sub



El punto uno es mas cajonero... basta con que vayas leyendo linea por linea y disparando un sql, para hacer la insercion

Título: Re: Trabajando con un datagrid
Publicado por: josuenmanuel en marzo 25, 2011, 03:50:53 pm
ok gracias voy a probar esta opcion y luego comento resultados
Título: Re: Trabajando con un datagrid
Publicado por: josuenmanuel en marzo 25, 2011, 04:00:28 pm
Citar
  Dim CodigoArt = Trim(DataGridView1.Rows(DataGridView1.CurrentCellAddress.Y).Cells(0).Value)
            TipoLista = "SELECT lote,articulo,fecha_vence" & _
                        " FROM " & BaseDatos & ".lote where estado = 'A' and articulo = '" & CodigoArt & "' "
disculpa la pregunta pero esta parte me ha confundido un poco, ¿Aqui estas trabajando ya en el formulario listaseleccion?
Título: Re: Trabajando con un datagrid
Publicado por: Darkness en marzo 28, 2011, 08:11:52 am
disculpa la pregunta pero esta parte me ha confundido un poco, ¿Aqui estas trabajando ya en el formulario listaseleccion?


No man en esa parte es en grid donde quieres recuperar el dato...


en la lista de seleccion simplemente ejecutaras la cadenaSQL y ahi deacuerdo al evento clic que el usuario de asignaras a CampoSeleccionado1 el valor que seleccione...

avisame si quieres y te preparo un ejemplo para mandarte la solucion .sln
Título: Re: Trabajando con un datagrid
Publicado por: josuenmanuel en marzo 28, 2011, 09:48:58 am
gracias por tu ayuda, segui el codigo que pusistes arriba y lo modifique a mis necesidades y ya funciono, gracias  :sur:.
lo unico que me hace falta y que no agregue al inicio de la pregunta es ¿como hacer para que cuando el usuario presione una tecla , digamos la "c", se abra el cuadro de dialogo?, si tenes una idea pues talvez me la podes brindar y si no de todos modos gracias  :thumbsup: ya que al menos solucione mi primer problema.
Título: Re: Trabajando con un datagrid
Publicado por: Darkness en marzo 29, 2011, 11:37:17 am
Mira aki.... ElGuille (http://www.elguille.info/NET/dotnet/pulsarTeclas.htm)


o aki  http://programandoideas.com/2010/03/detectar-las-teclas-presionadas-con-e-keychar-en-visual-basic-net/ (http://programandoideas.com/2010/03/detectar-las-teclas-presionadas-con-e-keychar-en-visual-basic-net/)
Título: Re: Trabajando con un datagrid
Publicado por: josuenmanuel en marzo 29, 2011, 01:08:02 pm
ok gracias, creo que ya mas o menos vi como hacerlo, solo debo de trabajar el evento keypress.