Principales respuestas
Eliminar registros de un Datatable

Pregunta
-
Hola...
Tengo un Datatable, llamado "datos3" que se llena a partir de un DataAdapter conectado a una base de datos. Ese Datatable lo visualizo en un Checkedlistbox, a través de su propiedad Datasource. Lo que quiero es que al pulsar un botón, se eliminen todos los registros del Checkedlistbox que tengan el "checked" marcados, pero que ese cambio no afecte a la base de datos.
No se si hay que hacer un bucle que recorra todo el Checkedlistbox, o si hay alguna propiedad que permita buscarlos automáticamente.
Gracias.
- Editado IvanBcn1982 miércoles, 15 de marzo de 2017 11:08
Respuestas
-
Hola, podrías intentar eliminarlos de memoria,con otro objeto datatable
Private Sub btnEliminarItemSeleccionado_Click(sender As System.Object, e As System.EventArgs) Handles btnEliminarItemSeleccionado.Click Dim dt As New DataTable dt = TryCast(CheckedListBox1.DataSource, DataTable) Dim dtFinal As DataTable = dt.Copy For i = CheckedListBox1.Items.Count - 1 To 0 Step -1 If CheckedListBox1.GetItemCheckState(i) = CheckState.Checked Then dtFinal.Rows.RemoveAt(i) End If Next CheckedListBox1.DataSource = dtFinal For Each i As Integer In CheckedListBox1.CheckedIndices CheckedListBox1.SetItemCheckState(i, CheckState.Unchecked) Next End Sub
Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.
- Editado Augusto1982 jueves, 16 de marzo de 2017 1:46
- Marcado como respuesta IvanBcn1982 jueves, 16 de marzo de 2017 12:30
Todas las respuestas
-
Hola, podrías intentar eliminarlos de memoria,con otro objeto datatable
Private Sub btnEliminarItemSeleccionado_Click(sender As System.Object, e As System.EventArgs) Handles btnEliminarItemSeleccionado.Click Dim dt As New DataTable dt = TryCast(CheckedListBox1.DataSource, DataTable) Dim dtFinal As DataTable = dt.Copy For i = CheckedListBox1.Items.Count - 1 To 0 Step -1 If CheckedListBox1.GetItemCheckState(i) = CheckState.Checked Then dtFinal.Rows.RemoveAt(i) End If Next CheckedListBox1.DataSource = dtFinal For Each i As Integer In CheckedListBox1.CheckedIndices CheckedListBox1.SetItemCheckState(i, CheckState.Unchecked) Next End Sub
Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.
- Editado Augusto1982 jueves, 16 de marzo de 2017 1:46
- Marcado como respuesta IvanBcn1982 jueves, 16 de marzo de 2017 12:30
-