private void BindGrid(int currentPageIndex) { try { // Obtenemos la auditoría seleccionada. IAuditoria auditoriaSeleccionada = AuditoriaFactory.GetAuditoria(); auditoriaSeleccionada.AuditoriaID = Convert.ToInt32(this.ddlAuditoria.SelectedValue); auditoriaSeleccionada.Consultar(); // Obtenemos los campos de la auditoría seleccionada. DsAuditoriaDetalle dsCamposAuditoriaSeleccionada = new DsAuditoriaDetalle(); dsCamposAuditoriaSeleccionada = auditoriaSeleccionada.GetAuditoriaDetalleDataSet(); // Obtenemos los datos de la auditoría seleccionada. // Seteamos los parámetros DataSet dsDatosAuditoriaSeleccionada = new DataSet(); if (Session["dsDatosAuditoriaSeleccionada"] == null) { dsDatosAuditoriaSeleccionada = auditoriaSeleccionada.GetDatosAuditoriaSeleccionadaDataSet(auditoriaSeleccionada.AuditoriaTabla, Convert.ToDateTime(this.txtFechaDesde.Text), Convert.ToDateTime(this.txtFechaHasta.Text), this.ddlUsuario.SelectedValue == "" ? 0 : Convert.ToInt32(this.ddlUsuario.SelectedValue), this.ddlOperacion.SelectedValue); Session["dsDatosAuditoriaSeleccionada"] = dsDatosAuditoriaSeleccionada; } else { dsDatosAuditoriaSeleccionada = (DataSet)Session["dsDatosAuditoriaSeleccionada"]; } // Configuro la grilla a mostrar. SisPackController.AdministrarGrillas.Configurar(this.dtgAuditoria, "Usuario", this.CantidadOpciones); // Cargamos las columnas de la grilla de la auditoría seleccionada. dtgAuditoria.Columns.Clear(); foreach (DsAuditoriaDetalle.DatosRow item in dsCamposAuditoriaSeleccionada.Datos) { BoundColumn bc = new BoundColumn(); bc.DataField = item.Campo; bc.HeaderText = item.Descripcion; this.dtgAuditoria.Columns.Add(bc); } // Actualizamos y cargamos la grilla de auditoría. this.dtgAuditoria.DataSource = dsDatosAuditoriaSeleccionada.Tables["Datos"]; dtgAuditoria.CurrentPageIndex = currentPageIndex; this.dtgAuditoria.DataBind(); } catch (Exception ex) { this.ManejaErrores(ex); } }