protected void Page_Load(object sender, EventArgs e) { try { Panel2.Visible = false; List <Articulo> Articulos = LogicaArticulo.Listar(false); DataTable dtArticulos = new DataTable(); dtArticulos.Columns.Add(new DataColumn("CodigoBarras")); dtArticulos.Columns.Add(new DataColumn("Imagen")); dtArticulos.Columns.Add(new DataColumn("Nombre")); dtArticulos.Columns.Add(new DataColumn("Precio")); dtArticulos.Columns.Add(new DataColumn("Stock")); dtArticulos.Columns.Add(new DataColumn("Categoria")); foreach (Articulo a in Articulos) { DataRow drwArticulos = dtArticulos.NewRow(); drwArticulos["CodigoBarras"] = a.CodigoBarras; drwArticulos["Imagen"] = a.Imagen; drwArticulos["Nombre"] = a.Nombre; drwArticulos["Precio"] = a.Precio; drwArticulos["Stock"] = a.Stock; CategoriaArticulo categoria = a.Categoria; drwArticulos["categoria"] = categoria.Nombre; dtArticulos.Rows.Add(drwArticulos); } gvArticulos.DataSource = dtArticulos; if (Session["CodigoArticulo"] != null) { gvArticulos.PageIndex = ultimaPagina; } gvArticulos.DataBind(); } catch (ApplicationException ex) { lblMensaje.ForeColor = System.Drawing.Color.Red; lblMensaje.Text = "¡Error! " + ex.Message; } catch { lblMensaje.ForeColor = System.Drawing.Color.Red; lblMensaje.Text = "¡Error! Al cargar la pagina, no se encontro el repositorio de base de datos."; } }
protected void CargarGridView() { string categoria = ddlCategorias.SelectedValue; List <Articulo> Articulos = LogicaArticulo.ListarTodosLosArticulos(); bool ordenamiento; //variable para definir el ordenamiento por precio que tenga el grid view en la consulta a la base de datos if (categoria == "Todas") { if (ddlOrdenXPrecio.SelectedValue == "MayorAMenor") { ordenamiento = true; seleccionDeOrdenamiento = "MayorAMenor"; Articulos = LogicaArticulo.Listar(ordenamiento); } if (ddlOrdenXPrecio.SelectedValue == "MenorAMayor") { ordenamiento = false; seleccionDeOrdenamiento = "MenorAMayor"; Articulos = LogicaArticulo.Listar(ordenamiento); } if (ddlOrdenXCategoria.SelectedValue == "A - Z") { seleccionDeOrdenamiento = "A - Z"; Articulos = LogicaArticulo.ListarArticulosGruposCategoria(true); } if (ddlOrdenXCategoria.SelectedValue == "Z - A") { seleccionDeOrdenamiento = "Z - A"; Articulos = LogicaArticulo.ListarArticulosGruposCategoria(false); } if (ddlOrdenXPrecio.SelectedValue == "SinOrdenar" && ddlOrdenXCategoria.SelectedValue == "SinOrdenar") { seleccionDeOrdenamiento = "SinOrdenar"; } Session["SeleccionDeOrenamiento"] = seleccionDeOrdenamiento; Cargar1(Articulos); } else { Articulos = LogicaArticulo.ListarXCategoriaDesordenado(categoria); if (ddlOrdenXPrecio.SelectedValue == "MayorAMenor") { ordenamiento = true; seleccionDeOrdenamiento = "MayorAMenor"; Articulos = LogicaArticulo.ListarXCategoria(categoria, ordenamiento); } if (ddlOrdenXPrecio.SelectedValue == "MenorAMayor") { ordenamiento = false; seleccionDeOrdenamiento = "MenorAMayor"; Articulos = LogicaArticulo.ListarXCategoria(categoria, ordenamiento); } if (Articulos.Count == 0) //si la categoria no tiene articulos se muestra un mensaje y se vacia el gridview anterior { DataTable dtSinArticulos = new DataTable(); gvArticulos.DataSource = dtSinArticulos; gvArticulos.DataBind(); throw new ExcepcionPresentacion("La categoria no tiene ningun articulo."); } if (ddlOrdenXPrecio.SelectedValue == "SinOrdenar" && ddlOrdenXCategoria.SelectedValue == "SinOrdenar") { seleccionDeOrdenamiento = "SinOrdenar"; } Session["SeleccionDeOrenamiento"] = seleccionDeOrdenamiento; Cargar1(Articulos); } }