none
Devexpress GridControl - Eliminar una fila RRS feed

  • Pregunta

  • Como puedo eliminar una fila en un GridControl dandole clic a un Boton eliminar, eliminando la celda seleccionada y que me salga un mensaje de eliminacion.
    lunes, 1 de junio de 2015 3:12

Respuestas

  • Hola Oscar Perez 1234 deberías aplicar el siguiente código para poder eliminar filas de un gridcontrol a través de un botón:

            private void Form1_Load(object sender, EventArgs e)
            {
                DataTable tbl = new DataTable();
    
                using (SqlConnection cx = new SqlConnection("Server=.;Integrated Security = SSPI;Database=Neptuno"))
                {
                    cx.Open();
                    SqlDataAdapter da = new SqlDataAdapter("Select * from Productos", cx);
                    da.Fill(tbl);
                    cx.Close();
                }
                gridControl1.DataSource = tbl;
                gridView1.OptionsBehavior.Editable = false;
            }
    
            private void btnEliminarFila_Click(object sender, EventArgs e)
            {
                try
                {
                    gridView1.DeleteRow(gridView1.FocusedRowHandle);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

    Espero haberte ayudado.

    lunes, 1 de junio de 2015 5:12

Todas las respuestas

  • Hola Oscar Perez 1234 deberías aplicar el siguiente código para poder eliminar filas de un gridcontrol a través de un botón:

            private void Form1_Load(object sender, EventArgs e)
            {
                DataTable tbl = new DataTable();
    
                using (SqlConnection cx = new SqlConnection("Server=.;Integrated Security = SSPI;Database=Neptuno"))
                {
                    cx.Open();
                    SqlDataAdapter da = new SqlDataAdapter("Select * from Productos", cx);
                    da.Fill(tbl);
                    cx.Close();
                }
                gridControl1.DataSource = tbl;
                gridView1.OptionsBehavior.Editable = false;
            }
    
            private void btnEliminarFila_Click(object sender, EventArgs e)
            {
                try
                {
                    gridView1.DeleteRow(gridView1.FocusedRowHandle);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

    Espero haberte ayudado.

    lunes, 1 de junio de 2015 5:12
  • Estimado los codigos los quiero en Vba NET Baisc

    lunes, 1 de junio de 2015 18:15
  •  

    Oscar Perez 1234 emplea el siguiente codigo:

        Dim tbl As New DataTable
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Using cn As New SqlConnection("Server=LENOVO\LOCALHOST;Integrated Security=sspi;Database=NORTHWND")
                cn.Open()
                Dim da As New SqlDataAdapter("select * from Employees", cn)
                da.Fill(tbl)
                cn.Close()
            End Using
            GridControl1.DataSource = tbl
            GridView1.OptionsBehavior.Editable = False
    
        End Sub
    
        Private Sub btnEliminar_Click(sender As System.Object, e As System.EventArgs) Handles btnEditar.Click
            Try
                GridView1.DeleteRow(GridView1.FocusedRowHandle)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub

    Espero haberte ayudado.


    lunes, 1 de junio de 2015 18:39
  • Me olvide decirte que ese Grid, esta enlazado con una tabla de SQL, como se haria en ese caso si yo quiero que se elimine directamente de la tabla
    lunes, 1 de junio de 2015 19:04
  • Hola Oscar Perez 1234 entonces deberías de capturar el código que te sirve para poder eliminar el registro en SQL, una vez que tengas el Id deberías ejecutar tu store procedure que se encargue de eliminar el registro especificándole el id que haz capturado.

        Private Sub btnEliminar_Click(sender As System.Object, e As System.EventArgs) Handles btnEditar.Click
            Try
                Dim row As DataRow
                row = GridView1.GetDataRow(GridView1.FocusedRowHandle)
                Dim IdEmpleado As Integer
                IdEmpleado = row("EmployeeID")
                'Aqui pondrias tu codigo para eliminar el registro de la base de datos 
                'y luego ejecutas que se borre del gridcontrol
                GridView1.DeleteRow(GridView1.FocusedRowHandle)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    Espero haberte ayudado.
    lunes, 1 de junio de 2015 19:21

  • Hola buenas Aldair, entonces esto según tu, debería de ser así??

        Private Sub BarButtonItem6_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick
            conn()
            Dim row As DataRow
            row = GridView1.GetDataRow(GridView1.FocusedRowHandle)
            Dim Idmatricula As Integer
            Idmatricula = row("Código alumno")
            MsgBox(Idmatricula)
            Dim borra As String = "DELETE FROM T_ALU WHERE Id = '" + Idmatricula + "' "
            Dim adaptadordedatos As OleDbDataAdapter
            Dim tabladedatos As New DataTable
            Try
                adaptadordedatos = New OleDbDataAdapter(borra, conexion)
                adaptadordedatos.Fill(tabladedatos)
                tabla.DataSource = tabladedatos
                GridView1.DeleteRow(GridView1.FocusedRowHandle)
            Catch ex As Exception
                MsgBox("Error: " & ex.Message)
            End Try
        End Sub

    Porque esto me devuelve un error... el tipo double no se puede convertir...

    jueves, 12 de noviembre de 2015 23:11