Foros del Web » Programando para Internet » ASPX (.net) »

ayuda con edicion en un gridview

Estas en el tema de ayuda con edicion en un gridview en el foro de ASPX (.net) en Foros del Web. hola. ayuda tengo un gridview en asp.net, lo que pasa es, tengo una plantilla para editar en dicho gridview al cual agregue un textbox para ...
  #1 (permalink)  
Antiguo 28/05/2010, 08:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 39
Antigüedad: 17 años, 2 meses
Puntos: 0
ayuda con edicion en un gridview

hola. ayuda

tengo un gridview en asp.net, lo que pasa es, tengo una plantilla para editar en dicho gridview al cual agregue un textbox para q introdusca el valor. pero cuando quiero recuperar el dato, siempre me devuelve el valor q recupera de la BD y no el nuevo valor que quiero.

el codigo del grid es:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
AutoGenerateDeleteButton="True"
DataSourceID="SqlDataSource1" Height="25px"
onrowediting="GridView1_RowEditing" Width="494px"
onrowcancelingedit="GridView1_RowCancelingEdit" BackColor="White"
BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" CellPadding="4"
GridLines="Horizontal" onrowupdating="GridView1_RowUpdating" >
<FooterStyle BackColor="White" ForeColor="#333333" />
<RowStyle BackColor="White" ForeColor="#333333" />
<Columns>
<asp:CommandField ShowEditButton="True" />

<asp:TemplateField HeaderText="Descripcion">
<ItemTemplate>
<asp:Label ID="DescripcionLabel" runat="server"
Text='<%# Bind("descripcion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="cantidadLabel" runat="server" Text='<%# Bind("cantidad") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="cantidadTextBox1" runat="server" Text='<%# Bind("cantidad") %>' ></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="numeroorden">
<ItemTemplate>
<asp:Label ID="numeroordenLabel" runat="server"
Text='<%# Bind("numeroorden") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="codigocategoria">
<ItemTemplate>
<asp:Label ID="codigocategoriaLabel" runat="server"
Text='<%# Bind("codigocategoria") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ayuda">
<ItemTemplate>
<asp:Label ID="Label19" runat="server" Text='<%# Eval("cantidad") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("cantidad") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
</asp:GridView>

y el metodo donde quiero recuperar es:


protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//recuperamos la fila que estamos editando
GridViewRow fila = GridView1.Rows[e.RowIndex];
if (fila != null)
{
//inicializamos los parametros para actualizar

this.SqlDataSource1.UpdateParameters["cantidad"].DefaultValue =(fila.FindControl("cantidadTextBox") as TextBox).Text;
this.SqlDataSource1.UpdateParameters["numeroorden"].DefaultValue = (fila.FindControl("numeroordenLabel") as Label).Text;
this.SqlDataSource1.UpdateParameters["codigocategoria"].DefaultValue = (fila.FindControl("codigocategoriaLabel") as Label).Text;
//Ejecutamos la actualización
this.SqlDataSource1.Update();
//para salir del estado de edición
GridView1.EditIndex = -1;
MostrarDatos();
}
}

entonces como recuperaria ese nuevo valor que quiero actualizar?

Etiquetas: gridview, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:52.