protected void PaginarInternoAg(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { ((DataGrid)source).CurrentPageIndex = e.NewPageIndex; AdministrarGrillas.Configurar(((DataGrid)source), "GuiaID", 10, true, true); DsReporteRendicionUsuario dsGuias = (DsReporteRendicionUsuario)Session["dsGuias"]; ((DataGrid)source).DataSource = dsGuias.Datos.Select("Usuario = '" + this.txtUnidadVentaID.Text + "' and NroRendicion = " + this.txtUnidadVentaIDI.Text); ((DataGrid)source).DataBind(); }
/// <summary> /// Diego 22/11/2012 Metodo que trae las guias pertenecientes a una rendicion y los usuarios relacionados /// </summary> /// <param name="nroInicio"></param> /// <param name="nroFin"></param> /// <param name="agenciaID"></param> /// <returns></returns> public DsReporteRendicionUsuario ConsultarRendicion(string nroInicio, string nroFin, int agenciaID) { DsReporteRendicionUsuario ds = new DsReporteRendicionUsuario(); SqlParameter pNroRendicionDesde = new SqlParameter("@NroRendicionDesde", nroInicio); SqlParameter pNroRendicionHasta = new SqlParameter("@NroRendicionHasta", nroFin); SqlParameter pAgenciaID = new SqlParameter("@AgenciaID", agenciaID); Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "RendicionAgecniaUsuario", pNroRendicionDesde, pNroRendicionHasta, pAgenciaID); return(ds); }
protected void dtgRendiciones_ItemDataBound1(object sender, DataGridItemEventArgs e) { Control container = e.Item; ListItemType itemType = e.Item.ItemType; // Reviso si estoy en el detalle de items if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem) { // Estoy en el detalle de items if (e.Item.DataItem == null) { return; } // Busco la subgrilla y la configuro DataGrid dtgGuias; dtgGuias = (DataGrid)container.FindControl("dtgGuias"); AdministrarGrillas.Configurar(dtgGuias, "GuiaID", 10, true, true); dtgGuias.ShowFooter = false; dtgGuias.AllowPaging = dtgGuias.AllowPaging; string agenciaOrigenID = String.Empty; string NroRendicion = String.Empty; if (null != dtgGuias) { // Cargo los datos en los controles Label lblAgenciaOrigenID = (Label)e.Item.FindControl("lblUsuario"); agenciaOrigenID = lblAgenciaOrigenID.Text.Trim(); Label lblNroRendicion = (Label)e.Item.FindControl("lblNroRendicion"); NroRendicion = lblNroRendicion.Text.Trim(); DsReporteRendicionUsuario dsGuiasTDE = (DsReporteRendicionUsuario)Session["dsGuias"]; HtmlImage btnExpandButton = (HtmlImage)container.FindControl("imageRendicion_"); // Cargo el script para mostrar y ocultar la subgrilla if ((e.Item.ItemIndex + 3) < 10) { if (btnExpandButton != null) { btnExpandButton.Attributes.Add("OnClick", "Toggle('dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias', 'dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_');window.document.getElementById('txtUnidadVentaID').value='" + agenciaOrigenID + "';window.document.getElementById('txtUnidadVentaIDI').value=" + NroRendicion + ";"); } script += "if (param != 'dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias'){"; script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias'].style.display = 'none';"; script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/plus.gif';}"; script += "else\n"; script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/minus.gif';"; } else { if (btnExpandButton != null) { btnExpandButton.Attributes.Add("OnClick", "Toggle('dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias', 'dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_');window.document.getElementById('txtUnidadVentaID').value='" + agenciaOrigenID + "';window.document.getElementById('txtUnidadVentaIDI').value=" + NroRendicion + ";"); } script += "if (param != 'dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias'){"; script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias'].style.display = 'none';"; script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/plus.gif';}"; script += "else\n"; script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/minus.gif';"; } dtgGuias.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(PaginarInternoAg); dtgGuias.DataSource = dsGuiasTDE.Datos.Select("usuario = '" + agenciaOrigenID + "' and NroRendicion = " + NroRendicion); dtgGuias.DataBind(); } } }
private void BindGrilla() { if ((int.Parse(txtHasta.Text) - int.Parse(txtInicio.Text) < 10) && (int.Parse(txtHasta.Text) - int.Parse(txtInicio.Text) >= 0)) { DataSet ds = new DataSet(); // Tegno que mostrarlos de forma resumida. Configuro la grilla a mostrar SisPackController.AdministrarGrillas.Configurar(this.dtgRendiciones, "GuiaID", 10); // Termino de realizar configuraciones a la grilla this.dtgRendiciones.AllowPaging = true; dtgRendiciones.ShowFooter = true; dtgRendiciones.FooterStyle.CssClass = "TextoGrilla"; IReporteRendicionUsuario guiaTDE = ReporteRendicionUsuarioFactory.GetReporteRendicionUsuario(); DsReporteRendicionUsuario dsGuias = new DsReporteRendicionUsuario(); DsReporteRendicionUsuario dsUsuario = new DsReporteRendicionUsuario(); // Reviso si los datos ya estan en memoria o tengo que cargarlos if (Session["dsGuias"] == null) { // Tengo que cargarlos. Los busco y los cargo en memoria dsGuias = guiaTDE.ConsultarRendicion(txtInicio.Text, txtHasta.Text, usuario.AgenciaID); Session["dsGuias"] = dsGuias; } else { // Los datos estan en memoria. Los cargo en el objeto dsGuiasTDE dsGuias = (DsReporteRendicionUsuario)Session["dsGuias"]; } // Clono la estructura de la tabla dsGuias ds.Tables.Add(dsGuias.Datos.Clone()); ds.Tables[0].TableName = "Guias"; ds.Tables.Add(dsGuias.Datos.Clone()); ds.Tables[1].TableName = "Usuarios"; string usuarios = ""; // Obtengo los Ids de las agencias usuarios = ","; foreach (System.Data.DataRow row in dsGuias.Datos.Rows) { ds.Tables["Guias"].ImportRow(row); if (usuarios.IndexOf("," + row["Usuario"] + "-" + row["NroRendicion"] + ",") == -1) { // No se habia agregado. La agrego usuarios += row["Usuario"] + "-" + row["NroRendicion"] + ","; ds.Tables[1].ImportRow(row); dsUsuario.Datos.ImportRow(row); } } if (Session["dsUsuario"] == null) { Session["dsUsuario"] = dsUsuario; } else { // Las agencias ya estan cargadas en memoria. Las cargo dsUsuario = (DsReporteRendicionUsuario)Session["dsUsuario"]; } // Cargo los datos de la agencia, junto con los datos calculados en el DataSet ds foreach (System.Data.DataRow row in ds.Tables[1].Rows) { // Obtengo los datos para realizar los calculos double ImporteTotal = Utiles.Validaciones.obtieneDouble(Convert.ToString(dsGuias.Datos.Compute("Sum(ImporteTotalGuia)", "usuario = '" + row["Usuario"].ToString() + "' and NroRendicion = " + row["NroRendicion"].ToString()))); double Cantidad = Utiles.Validaciones.obtieneEntero(Convert.ToString(dsGuias.Datos.Compute("Count(ImporteTotalGuia)", "usuario = '" + row["Usuario"].ToString() + "' and NroRendicion = " + row["NroRendicion"].ToString()))); // Cargo los calculos row["ImporteTotalGuia"] = ImporteTotal; row["Cantidad"] = Cantidad; } // Realizo la relación entre las tablas Agencias y GuiasTDE y GuiasTDE2 DataColumn dc1 = ds.Tables[1].Columns["Usuario"]; DataColumn dc2 = ds.Tables[0].Columns["Usuario"]; DataRelation dr = new DataRelation("Usuario_Guia", dc1, dc2, false); ds.Relations.Add(dr); // Cargo los datos en el dataGrid dtgAg this.dtgRendiciones.DataSource = ds; this.dtgRendiciones.DataMember = "Usuarios"; this.dtgRendiciones.DataBind(); } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se pueden consultar más de 10 rendiciones."); } }