private void BindGrid(int currentPage) { try { #region Consulta de permisos por perfil if (this.rbPermisosPorPerfil.Checked && !this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")) { /* Consultar si existe el perfil, dependiendo de los filtros ingresados. */ IPerfil perfil = PerfilFactory.GetPerfil(); perfil.PerfilID = this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")?0: Convert.ToInt32(this.ddlPerfilPorCategoria.SelectedValue.Trim()); if (perfil.Consultar()) { IOpcion opcion = OpcionFactory.GetOpcion(); opcion.OpcionPadreID = ""; DsOpcion ds = opcion.GetOpcionesByPerfilID(perfil.PerfilID); tvwMain.Controls.Clear(); foreach (DsOpcion.DatosRow dr in ds.Datos) { // obtengo el nodo padre squishyTREE.TreeNode n1 = tvwMain.AddNode(dr.OpcionID, "n1"); n1.AddTaggedValue("val1", dr.Descripcion); // busco los hijos de este padre this.BuscarHijos(perfil.PerfilID, dr.OpcionID, n1); } } this.tvwMain.Visible = true; this.butImprimir.Visible = true; tvwMain.ExpandAll(); } else { this.tvwMain.Visible = false; this.butImprimir.Visible = false; } #endregion #region Consulta de usuarios por perfil if (this.rbUsuariosPorPerfil.Checked && !this.ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")) { AdministrarGrillas.Configurar(dtgDatosUsuarios, "UsuarioID", this.CantidadOpciones); IPerfil usuarios = PerfilFactory.GetPerfil(); usuarios.PerfilID = ddlPerfilPorCategoria.SelectedValue.Trim().Equals("")?0:Convert.ToInt32(ddlPerfilPorCategoria.SelectedValue.Trim()); DsUsuarios dsUsuarios = usuarios.GetUsuariosByPerfilID(); this.dtgDatosUsuarios.DataSource = dsUsuarios; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosUsuarios.DataBind(); usuarios = null; dsUsuarios = null; this.dtgDatosUsuarios.Visible = true; } else { this.dtgDatosUsuarios.Visible = false; } #endregion #region Consulta de perfiles por permiso if (this.rbPerfilesPorPermiso.Checked && !this.ddlPermiso.SelectedValue.Trim().Equals("")) { AdministrarGrillas.Configurar(dtgDatosPerfiles, "PerfilID", this.CantidadOpciones); IOpcion permiso = OpcionFactory.GetOpcion(); permiso.OpcionID = this.ddlPermiso.SelectedValue.Trim().Equals("")?"":this.ddlPermiso.SelectedValue.Trim(); DsPerfil dsPerfilesO = permiso.GetPerfilesByOpcionID(); this.dtgDatosPerfiles.DataSource = dsPerfilesO; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosPerfiles.DataBind(); permiso = null; dsPerfilesO = null; this.dtgDatosPerfiles.Visible = true; } else { this.dtgDatosPerfiles.Visible = false; } #endregion #region Consulta de perfiles por usuario if (this.rbPerfilesPorUsuario.Checked) { AdministrarGrillas.Configurar(dtgDatosPerfiles, "PerfilID", this.CantidadOpciones); IUsuarios perfiles = UsuariosFactory.GetUsuario(); perfiles.UsuarioID = cUsuario.UsuarioID.Trim().Equals("")?0:Convert.ToInt32(cUsuario.UsuarioID.Trim()); DsPerfil dsPerfiles = perfiles.GetPerfilesAsignadosByUsuarioID(); this.dtgDatosPerfiles.DataSource = dsPerfiles; this.dtgDatosUsuarios.CurrentPageIndex = currentPage; this.dtgDatosPerfiles.DataBind(); perfiles = null; dsPerfiles = null; this.dtgDatosPerfiles.Visible = true; } else if (!this.rbPerfilesPorPermiso.Checked) { this.dtgDatosPerfiles.Visible = false; } #endregion Page.RegisterStartupScript("mostrar", "<script language='javascript'>VisualizarGrilla();\n</script>"); } catch (Exception ex) { ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message); } }