Usuario
ASPX VB 2013 Actualizar datagrid trabajando desconectado (con dataset)

Pregunta
-
Buenas tardes, estoy trabajando con un datagrid las funciones de agregar, eliminar funcionan perfectamente, sin embargo la actualización de datos no, y el problema es el siguiente, cuando intento recuperar el valor de
Detalle = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtDetalleEdit"), TextBox).Text no puedo recuperar el nuevo valor digitado, estoy trabajando con un DataSet desconectado
a continuación el código completo del edit y update
Protected Sub gvAsientoDetalle_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles gvAsientoDetalle.RowEditing
Try
gvAsientoDetalle.EditIndex = e.NewEditIndex
RefrescarGrid()
Catch ex As Exception
End Try
End SubProtected Sub gvAsientoDetalle_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles gvAsientoDetalle.RowUpdating
Dim Detalle As New modelo.ConAsientoDetalleEdit
Try
Detalle.CodigoEmpresa = clsUtilites.ID_CODIGO_EMPRESA
Detalle.NumeroAsiento = 0
Detalle.NumeroLinea = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("lblNumeroLineaEdit"), Label).Text
Detalle.Referencia = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtReferenciaEdit"), TextBox).Text
Detalle.Detalle = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtDetalleEdit"), TextBox).Text
Detalle.Monto = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtDebitoEdit"), TextBox).Text
Detalle.IndicadorDebitoCredito = 1
Detalle.TipoCambioBase = clsUtilites.ID_TIPO_CAMBIO_COMPRA
Detalle.TipoCambioMoneda = 1
Detalle.NumeroCuenta = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtNumeroCuentaEdit"), TextBox).Text
Detalle.CodigoCentroCosto = CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtCodigoCentroCostoEdit"), TextBox).Text
Detalle.idUsuario = clsUtilites.ID_USUARIO
_ConAsientoDetalle.Modificar(Detalle)
gvAsientoDetalle.EditIndex = -1
RefrescarGrid()
Catch ex As Exception
End Try
End SubCODIGO HTML
<asp:GridView ID="gvAsientoDetalle" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" ShowFooter="True" AllowPaging="True" ShowHeaderWhenEmpty="True" ClientIDMode="Static" DataKeyNames="NumeroLinea">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField HeaderText="#Línea">
<EditItemTemplate>
<asp:Label ID="lblNumeroLineaEdit" runat="server" Text='<%# Bind("NumeroLinea") %>'></asp:Label>
</EditItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAgregarDetalle" runat="server" ForeColor="Black" Text="Agregar" OnClick="btnAgregarDetalle_Click" />
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblNumeroLinea" runat="server" Text='<%# Bind("NumeroLinea") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cuenta">
<EditItemTemplate>
<asp:TextBox ID="txtNumeroCuentaEdit" runat="server" ClientIDMode="Static" Text='<%# Bind("NumeroCuenta") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNumeroCuenta" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblNumeroCuenta" runat="server" Text='<%# Bind("NumeroCuenta") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Débito">
<EditItemTemplate>
<asp:TextBox ID="txtDebitoEdit" runat="server" Text='<%# Bind("Monto") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtDebito" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblDebito" runat="server" Text='<%# Bind("Monto") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Crédito">
<EditItemTemplate>
<asp:TextBox ID="txtCreditoEdit" runat="server" Text='<%# Bind("Monto") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtCredito" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblCredito" runat="server" Text='<%# Bind("Monto") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Referencia">
<EditItemTemplate>
<asp:TextBox ID="txtReferenciaEdit" runat="server" Text='<%# Bind("Referencia") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtReferencia" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblReferencia" runat="server" Text='<%# Bind("Referencia") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Detalle">
<EditItemTemplate>
<asp:TextBox ID="txtDetalleEdit" runat="server" Text='<%# Bind("Detalle") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtDetalle" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblDetalle" runat="server" Text='<%# Bind("Detalle") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Centro Costo">
<EditItemTemplate>
<asp:TextBox ID="txtCodigoCentroCostoEdit" runat="server" Text='<%# Bind("CodigoCentroCosto") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtCentroCosto" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblCodigoCentroCosto" runat="server" Text='<%# Bind("CodigoCentroCosto") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Cambio">
<EditItemTemplate>
<asp:TextBox ID="txtTipoCambioMonedaEdit" runat="server" Text='<%# Bind("TipoCambioMoneda") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtTipoCambio" runat="server" ForeColor="#0000CC"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="lblTipoCambioMoneda" runat="server" Text='<%# Bind("TipoCambioMoneda") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#999999" />
<EmptyDataTemplate>
No hay registros
</EmptyDataTemplate>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
</div>
Lo he intentado de varias formas sin embargo el resultado de
CType(gvAsientoDetalle.Rows(e.RowIndex).FindControl("txtDetalleEdit"), TextBox).Text
Siempre es el valor anterior y no el ingresado por el usuario en txtDetalleEdit por tanto no puedo actualizar los datos
Saludos Cordiales,
- Editado Randall Chinchilla Morales martes, 30 de agosto de 2016 1:43