Problemas al eliminar una fila
Publicado por Pinky (110 intervenciones) el 07/08/2015 16:58:52
Hola amigos del foro mi consulta es la siguiente, el usuario detecto un error muy grave en todas las gridview, las llama bien, las ingresas bien, las modifica bien, pero al eliminar la primera fila o la ultima fila, me manda el error que no se puede tener acceso a una fila eliminada, cuando uno presiona el check de la suma de columnas, favor de ayudarme he tratado de buscar una solución pero nada funciona, a continuación presente el código de eliminar una fila al presionar el botón de eliminar de la grilla.
y a continuación el mismo código que utilizo para sumar las columnas de las grillas.
favor de ver en que puedo estar equivocado, desde ya muchas gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub borrar_item(ByVal indice As Integer)
ds = Session("tabla")
Dim indice_borrado As Integer
For i = 0 To ds.Tables("Grilla").Rows.Count - 1
If Not ds.Tables("Grilla").Rows(i).RowState = DataRowState.Deleted Then
If CInt(ds.Tables("Grilla").Rows(i).Item("N_Filas")) = indice + 1 Then
ds.Tables("Grilla").Rows(i).Delete()
indice_borrado = i
ElseIf CInt(ds.Tables("Grilla").Rows(i).Item("N_Filas")) >= indice + 1 Then
ds.Tables("Grilla").Rows(i).Item("N_Filas") = CInt(ds.Tables("Grilla").Rows(i).Item("N_Filas")) - 1
End If
End If
Next
Dim vista As DataView = New DataView()
vista = ds.Tables("Grilla").DefaultView
Grilla.DataSource = vista
Grilla.DataBind()
Session.Add("tabla", ds)
contador_items.Text = CInt(contador_items.Text) - 1
TXTITEM.Text = contador_items.Text
Checkbox1.focus()
End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Protected Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
Dim valor As Integer
Dim valor1 As Integer = 0
ds = Session("Tabla")
For i = 0 To ds.Tables("Grilla").Rows.Count + 1
For Each item As DataRow In ds.Tables("Grilla").Rows
valor = item("Valor_Mobra") + valor
Next
Next
TXTVALMANO.Text = valor.ToString
ds1 = Session("Tabla1")
For Each item As DataRow In ds1.Tables("Grilla1").Rows
valor1 = item("Valor_Repuestos") + valor1
Next
TXTVALREP.Text = valor1.ToString
TXTSUBTOTAL.Text = CInt(TXTVALMANO.Text) + CInt(TXTVALREP.Text)
TXTSUBTOTAL.Text = CInt(TXTSUBTOTAL.Text)
TXTSUBTOTAL.Enabled = False
TXTIVA.Text = Val(TXTSUBTOTAL.Text) * Val(19) / 100
TXTIVA.Text = CLng(TXTIVA.Text)
TXTTOTAL.Text = Val(TXTSUBTOTAL.Text) + Val(TXTIVA.Text)
TXTIVA.Enabled = False
TXTTOTAL.Enabled = False
End Sub
Valora esta pregunta


0