Tengo una tabla (datagrid) para desplegar todos los registros contenidos en una mis tablas, ahora bien cuando quiero editar o agregar alguna línea más a los registros; se realiza bien el update o el insert correctamente.
El problema radica en que al momento de actualizar/insertar, se despliegan dos veces los registros:
Antes del update/insert/delete
- Lista de registros SIN cambios
Después del update/insert/delete
- Lista de registros SIN cambios
- Lista de registros CON cambios
Para que sólo aparezca la Lista de regitros CON cambios, tengo que salirme de la página y volver a entrar a ella.
Además, cuando entro a la página por primera vez; carga el datagrid bien, pero si se le doy F5 aparece, se dibuja dos veces; y si le doy 10 veces F5, pues se carga 10 veces el datagrid, y así sucesivamente
Les dejo mi código:
Llamo el sub
Código PHP:
If Not IsPostBack Then
If x > 0 Then
llenar_partidas()
End If
Más código....
End If
Código PHP:
Private Sub llenar_partidas()
Dim lsLRsql As String
Try
LblSal.Text = "0"
lsLRsql = "select * from partidas where idpedido=" & Npedido & " order by idpartida asc"
Response.Write("<br>SQL<br>" + lsLRsql)
ocdJL_Command.Dispose()
ocdJL_Command = cn.putComand(lsLRsql, cLRcon)
rsAcceso = ocdJL_Command.ExecuteReader()
While rsAcceso.Read
Dim dr As DataRow = Cart.NewRow()
dr(0) = rsAcceso.Item("a")
dr(1) = rsAcceso.Item("b")
dr(2) = rsAcceso.Item("c")
dr(3) = rsAcceso.Item("d")
dr(4) = rsAcceso.Item("e")
dr(5) = rsAcceso.Item("f")
dr(6) = rsAcceso.Item("g")
dr(7) = rsAcceso.Item("h")
dr(8) = rsAcceso.Item("i")
LblSal.Text = CDbl(LblSal.Text) + CDbl(Trim(rsAcceso.Item("importe")))
Response.Write("<br><font color=orange>-" & dr(0) & "-" & dr(3) & "-" & dr(2) & "-" & dr(1) & "-" & dr(7) & "-</font>")
Cart.Rows.Add(dr)
End While
CartView = New DataView(Cart)
BindGrid()
Catch ex As Exception
Response.Write(ex)
End Try
End Sub
Código PHP:
Sub BindGrid()
Try
MyDataGrid.DataSource = Nothing
MyDataGrid.DataSource = CartView
MyDataGrid.DataBind()
Catch ex As Exception
Response.Write(ex)
End Try
End Sub
Código PHP:
<asp:DataGrid ID="MyDataGrid" runat="server" BorderColor="Black" BorderWidth="1px" CellPadding="3" Font-Names="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_update" AutoGenerateColumns="False" Width="750px" OnItemCommand="Grid_Command">
<Columns>
<asp:BoundColumn HeaderText="A" DataField="a"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="B" DataField="b"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="C" DataField="c"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="D" DataField="d"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="E" DataField="e"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="F" DataField="f"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="G" DataField="g"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="H" DataField="h"><HeaderStyle Width="100px" /></asp:BoundColumn>
<asp:BoundColumn HeaderText="I" DataField="i"><HeaderStyle Width="220px" /></asp:BoundColumn>
<asp:ButtonColumn Text="Agregar" CommandName="Add" />
<asp:ButtonColumn Text="Eliminar" CommandName="Delete" />
<asp:EditCommandColumn UpdateText="Guardar" CancelText="Cancelar" EditText="Editar">
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:EditCommandColumn>
</Columns>
<HeaderStyle BackColor="#AAAADD" />
</asp:DataGrid>
Si alguien sabe qué está pasando, donde esta mi error o de alguna propiedad que estoy pasando de largo, de verdad; ayudeeeeeeeeeeenmeeeeeeeeee