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);
            }
        }