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

Carrito De Compras Aspx C# Evento gvProductos_RowUpdating

Estas en el tema de Carrito De Compras Aspx C# Evento gvProductos_RowUpdating en el foro de ASPX (.net) en Foros del Web. Mi problemas es estoy elaborando un carrito de compras en ASPX C# hasta el momento eh podido implementar pero llevo unos dias atras tratando de ...
  #1 (permalink)  
Antiguo 14/06/2012, 02:44
 
Fecha de Ingreso: junio-2012
Ubicación: Lima(Peru)
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Carrito De Compras Aspx C# Evento gvProductos_RowUpdating



Mi problemas es estoy elaborando un carrito de compras en ASPX C# hasta el momento eh podido implementar pero llevo unos dias atras tratando de implementar modificar mi grid se me podrian ayudar o almenos dar una pista de como realizar la sintaxis en el evento "gvProductos_RowUpdating" Eh probado mil formas pero la grilla no se actualiza con la nueva cantidad tanpoco el valor del subtotal calculado ya que esta en una lista que la cual la guardo en una variable de sesion que esta en memoria pero no logro dar con la posicion por lo cual no modifica nada y me devuelve los mismos valores de la grilla sera un gran alivio y se los agradeceria mucho o cualquier ayuda gracias de antemano ...

[email protected]

Código ASP:
Ver original
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AgregarCarrito.aspx.cs" Inherits="WebSiteElVeloz.AgregarCarrito" MasterPageFile="~/Principal.Master"%>
  2.  
  3. <asp:Content ID ="Carrito" ContentPlaceHolderID ="Contenido" runat ="server" >
  4. <form id="frmcarrito" runat="server">
  5. <h1 class="style1">Lista de Compras &quot;Distribuidora El Veloz &quot;</h1>
  6. <div >
  7. <h3><a href ="pedido.aspx"  style="text-align: right ">Regresar...</a></h3>
  8. </div>
  9.       <asp:GridView ID="gvProductos" runat="server"  DataKeyNames ="IdProducto"
  10.           AutoGenerateColumns="false" BorderStyle="None" GridLines ="None"
  11.           onrowcommand="gvProductos_RowCommand"  AutoGenerateEditButton="true"
  12.     onrowcancelingedit="gvProductos_RowCancelingEdit"
  13.     onrowediting="gvProductos_RowEditing"
  14.     onrowupdating="gvProductos_RowUpdating" >
  15.        <Columns >
  16.        
  17.            <asp:TemplateField >
  18.              <ItemTemplate >
  19.                    <asp:image ID ="lblImagen"  runat ="server" width="130px"  ImageUrl ='<%# "~/IMAGENES/" + Eval("Imagen")  %>' />
  20.              </ItemTemplate>            
  21.            </asp:TemplateField>
  22.            
  23.            <asp:TemplateField  ItemStyle-VerticalAlign ="Top"  ItemStyle-HorizontalAlign ="Left" HeaderText ="Descripcion"  >
  24.               <ItemTemplate >
  25.                   <asp:Label ID ="lblnombre"  runat ="server"  Text = '<%# Eval("Nombre") %>' ForeColor="#006699" Font-Bold="true" Font-Size="Small"  />
  26.                   <br/>              
  27.                   <asp:Label ID ="lbldescripcion"  runat ="server"  Text = '<%# Eval("Descripcion") %>' ForeColor="#006699" Font-Bold="true" Font-Size="Small" />                                
  28.                   <br/>    
  29.               </ItemTemplate>
  30.            </asp:TemplateField>
  31.            
  32.              <asp:TemplateField  ItemStyle-VerticalAlign ="Top"  ItemStyle-HorizontalAlign ="Left" HeaderText ="  Precio "  >
  33.               <ItemTemplate >      
  34.                   <asp:Label ID ="lblPrecio2"  runat ="server"  Text = '<%# "S/. " + Eval("Precio") %>' Font-Bold="true" ForeColor="#006699"  Font-Size="Small" />  
  35.               </ItemTemplate>
  36.            </asp:TemplateField>
  37.            
  38.             <asp:TemplateField  ItemStyle-VerticalAlign ="Top"  ItemStyle-HorizontalAlign ="Center" HeaderText ="Cantidad"  >
  39.                 <EditItemTemplate>
  40.                     <asp:DropDownList ID="ddlcant" runat="server">
  41.                     </asp:DropDownList>
  42.                 </EditItemTemplate>
  43.               <ItemTemplate >      
  44.                   <asp:Label ID ="lblCant"  runat ="server"  Text = '<%# Eval("Cantidad ") %>' Font-Bold="true" ForeColor="#006699"  Font-Size="Small" ></asp:Label>  
  45.               </ItemTemplate>
  46.            </asp:TemplateField>
  47.          
  48.             <asp:TemplateField  ItemStyle-VerticalAlign ="Top"  ItemStyle-HorizontalAlign ="Left" HeaderText ="  SubTotal  "  >
  49.               <ItemTemplate >      
  50.                   <asp:Label ID ="lblSubt"  runat ="server"  Text = '<%# "S/. " + Eval("SubTotal") %>' Font-Bold="true" ForeColor="#006699"  Font-Size="Small" />  
  51.               </ItemTemplate>
  52.            </asp:TemplateField>
  53.            
  54.            <asp:TemplateField >
  55.               <ItemTemplate >
  56.                 <asp:LinkButton  ID ="lkbImagen"  runat ="server"  CommandName ="borrar" CommandArgument = '<%# Eval("IdProducto") %>'     >
  57.                  <img alt="Eliminar" src="images/cart_remove.png" width ="20px"  style ="border: none" />
  58.                
  59.                 </asp:LinkButton>
  60.               </ItemTemplate>
  61.            </asp:TemplateField>
  62.            
  63.        </Columns>
  64.    
  65.     </asp:GridView>
  66.     <div class="style1"><asp:Button ID="btncompra" runat="server" Text="Comprar Productos"
  67.     ForeColor="#006699" BackColor="White" BorderColor="#006699"
  68.             onclick="btncompra_Click"/></div>
  69. </form>
  70. </asp:Content>
  71. <asp:Content ID="Content1" runat="server" contentplaceholderid="head">
  72.  
  73. </asp:Content>
  74.  
  75.  
  76. using MySql.Data;
  77. using MySql.Data.MySqlClient;
  78.  
  79. namespace WebSiteElVeloz
  80. {
  81.     public partial class AgregarCarrito : System.Web.UI.Page
  82.     {
  83.         protected void Page_Load(object sender, EventArgs e)
  84.         {
  85.             btncompra.Attributes.Add("onclick", "javascript:alert('Comprobante Generado');");
  86.             if (!Page.IsPostBack)
  87.             {
  88.                 string codigoproducto = Page.Request.QueryString["codigo"];
  89.                 if (string.IsNullOrEmpty(codigoproducto))
  90.                     Page.Response.Redirect("~/pedido.aspx");
  91.                
  92.                 productosDAL producto = new productosDAL();
  93.   producto.AbrirConex(ConfigurationManager.ConnectionStrings["cadena"].ConnectionString);
  94.  
  95.                 MySqlDataReader dr;
  96.  
  97.                 dr = producto.ObtenerDatosProducto(int.Parse(codigoproducto));
  98.  
  99.                RegistroCarroCompra regCarroCompra  = new RegistroCarroCompra();
  100.  
  101.                 while (dr.Read())
  102.                 {
  103.                     regCarroCompra = new RegistroCarroCompra();
  104.                     regCarroCompra.IdProducto = int.Parse(dr["id"].ToString());
  105.                     regCarroCompra.Nombre = dr["nombrecomercial"].ToString();
  106.                     regCarroCompra.Precio = decimal.Parse(dr["precioventa"].ToString());
  107.                     regCarroCompra.Imagen = dr["imagen"].ToString();
  108.                     regCarroCompra.Descripcion = dr["empresa"].ToString();
  109.                     regCarroCompra.Cantidad = 1;
  110.                     regCarroCompra.SubTotal = regCarroCompra.Cantidad * regCarroCompra.Precio;
  111.                 }
  112.           producto.CerrarConex(ConfigurationManager.ConnectionStrings["cadena"].ConnectionString);
  113.  
  114.                 List<RegistroCarroCompra> ListaRegCarroCompra = null;
  115.  
  116.                 if (Session["CarroCompras"] == null)
  117.                     ListaRegCarroCompra = new List<RegistroCarroCompra>();
  118.                 else
  119.                     ListaRegCarroCompra = (List<RegistroCarroCompra>)Session["CarroCompras"];
  120.  
  121.                 if (!ProductoYaExiste(int.Parse(codigoproducto), ListaRegCarroCompra))
  122.                     ListaRegCarroCompra.Add(regCarroCompra);
  123.  
  124.                 Session["CarroCompras"] = ListaRegCarroCompra;
  125.                 gvProductos.DataSource = Session["CarroCompras"];
  126.                 gvProductos.DataBind();
  127.  
  128.             }
  129.         }
  130.  
  131.         protected void gvProductos_RowCommand(object sender, GridViewCommandEventArgs e)
  132.         {
  133.             if (e.CommandName == "borrar")
  134.                 borrar(int.Parse(e.CommandArgument.ToString()));
  135.         }
  136.  
  137.       private void borrar(int codigo)
  138.         {
  139.             // Implemementar
  140.             List<RegistroCarroCompra> ListaRegCarroCompra = null;
  141.             ListaRegCarroCompra = (List<RegistroCarroCompra>)Session["CarroCompras"];
  142.             int posicion = 0;
  143.             foreach (RegistroCarroCompra item in ListaRegCarroCompra )
  144.             {
  145.                 if (item.IdProducto == codigo)
  146.                     break;
  147.                 posicion += 1;
  148.             }
  149.             ListaRegCarroCompra.RemoveAt(posicion );
  150.             Session["CarroCompras"] = ListaRegCarroCompra;
  151.             gvProductos.DataSource = Session["CarroCompras"];
  152.             gvProductos.DataBind();
  153.  
  154.         }
  155.         protected void gvProductos_RowEditing(object sender, GridViewEditEventArgs e)
  156.         {
  157.             gvProductos.EditIndex = e.NewEditIndex;
  158.             int id = Convert.ToInt32(gvProductos.DataKeys[e.NewEditIndex].Value);
  159.             gvProductos.DataSource = Session["CarroCompras"];
  160.             gvProductos.DataBind();
  161.             DropDownList combo = gvProductos.Rows[e.NewEditIndex].FindControl("ddlcant") as DropDownList;
  162.  
  163.             if (combo != null)
  164.             {
  165.                 for(int i =1;i <=50;i ++){
  166.                 combo.Items.Add(i.ToString());
  167.                 combo.DataBind();
  168.                 }
  169.             }
  170.  
  171.         }
  172.         protected void gvProductos_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  173.         {
  174.             gvProductos.EditIndex = -1;
  175.             gvProductos.DataSource = Session["CarroCompras"];
  176.             gvProductos.DataBind();
  177.         }
  178.  
  179.         protected void gvProductos_RowUpdating(object sender, GridViewUpdateEventArgs e)
  180.         {
  181.             int id = Convert.ToInt32(gvProductos.DataKeys[e.RowIndex].Value);
  182.  
  183.             DropDownList combo = gvProductos.Rows[e.RowIndex].FindControl("ddlcant") as DropDownList;
  184.             int cant = Convert.ToInt32(combo.SelectedValue);
  185.         }
  186.     }
  187.     public struct RegistroCarroCompra
  188.     {
  189.         public int IdProducto { get; set; }
  190.         public string Nombre { get; set; }
  191.         public string Descripcion { get; set; }
  192.         public decimal Precio { get; set; }
  193.         public decimal SubTotal { get; set; }
  194.         public int Cantidad { get; set; }
  195.         public string Imagen { get; set; }
  196.     }
  197.     }
  #2 (permalink)  
Antiguo 18/06/2012, 13:10
Avatar de cgonzalezm  
Fecha de Ingreso: junio-2012
Mensajes: 55
Antigüedad: 11 años, 10 meses
Puntos: 13
Respuesta: Carrito De Compras Aspx C# Evento gvProductos_RowUpdating

Cuando ocupas ese evento, dentro del mismo método gvProductos_RowUpdating debes poner otro método que actualice la fuente de datos de tu grilla.

Finalmente debes llenar la grilla con DataSource y DataBind() para refrescarla.
  #3 (permalink)  
Antiguo 22/06/2012, 13:17
 
Fecha de Ingreso: junio-2012
Mensajes: 12
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Respuesta: Carrito De Compras Aspx C# Evento gvProductos_RowUpdating

hola

me podrías decir como creaste tu carrito d compras? estoy desarrollando un sitio web y necesito hacer un carrito d compras con griviews, estoy programando con vb.net(vs2010) y mysql, ojala puedas ayudarme, gracias

Etiquetas: 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 00:22.