public void Initialize() { lstNiveles.Items.Clear(); lstEscogencia.Items.Clear(); System.Web.UI.WebControls.TreeView wft = (System.Web.UI.WebControls.TreeView)Web.Global.FindMyControl(Page, "wfTreeView"); wft.Visible = true; wft.ExpandAll(); //NodeIndex = wft.SelectedValue; if (WorkflowId != -1 && FirstTime) { FirstTime = false; wft.DataSource = WFPolitica.ObtenerRepresentacionXmlDataSourceConRutas(WorkflowId); // we want the full name displayed in the tree so // do custom databindings TreeNodeBinding Binding = new TreeNodeBinding(); Binding.TextField = "FullName"; Binding.ValueField = "ID"; wft.DataBindings.Add(Binding); wft.DataBind(); } System.Web.UI.WebControls.TreeNode tn = Global.GetNodeFromPath(wft.Nodes, NodeIndex); if (tn == null || tn.ChildNodes.Count > 1) { return; //MOSTRAR ALGUN MENSAJE DE ALARMA: no es una hoja donde se pueda conseguir una ruta } int ID = 0; if (tn.Value[0] == 'R') { ID = Convert.ToInt32(tn.Value.Substring(2)); //lstNiveles.DataSource = WFGrupoDeRoles.ObtenerGruposDeRolesExcepto(ID); lstNiveles.DataSource = WFGrupoDeRoles.ObtenerGruposDeRolesExcepto(0); lstNiveles.DataTextField = "strNbrRoles"; lstNiveles.DataValueField = "intCodRoles"; lstNiveles.DataBind(); lstEscogencia.DataSource = WFGrupoDeRoles.ObtenerGruposDeRoles(ID, tn.Text); lstEscogencia.DataTextField = "strNbrRoles"; lstEscogencia.DataValueField = "intCodRoles"; lstEscogencia.DataBind(); } else { lstNiveles.DataSource = WFGrupoDeRoles.ObtenerGruposDeRolesExcepto(ID); lstNiveles.DataTextField = "strNbrRoles"; lstNiveles.DataValueField = "intCodRoles"; lstNiveles.DataBind(); } /* * Microsoft.Web.UI.WebControls.TreeView tvw = (Microsoft.Web.UI.WebControls.TreeView)Page.FindControl("tvWorkflow"); * if(WorkflowId != -1 && FirstTime) * { * FirstTime = false; * tvw.TreeNodeSrc = WFPolitica.ObtenerRepresentacionXmlConRutas(WorkflowId); * tvw.DataBind(); * } * * tvw.Visible = true; * tvw.AutoPostBack = true; * tvw.ExpandLevel = NIVELES_EXPANDIDOS; * * NodeIndex = tvw.SelectedNodeIndex; * Microsoft.Web.UI.WebControls.TreeNode tn = tvw.GetNodeFromIndex(NodeIndex); * int ID = 0; * if(tn != null) * { * if(tn.NodeData[0] != 'N') * { * ID = Convert.ToInt32(tn.NodeData); * * lstNiveles.DataSource = WFGrupoDeRoles.ObtenerGruposDeRolesExcepto(ID); * lstNiveles.DataTextField = "strNbrRoles"; * lstNiveles.DataValueField = "intCodRoles"; * lstNiveles.DataBind(); * * lstEscogencia.DataSource = WFGrupoDeRoles.ObtenerGruposDeRoles(ID,tn.Text); * lstEscogencia.DataTextField = "strNbrRoles"; * lstEscogencia.DataValueField = "intCodRoles"; * lstEscogencia.DataBind(); * } * else * { * lstNiveles.DataSource = WFGrupoDeRoles.ObtenerGruposDeRolesExcepto(ID); * lstNiveles.DataTextField = "strNbrRoles"; * lstNiveles.DataValueField = "intCodRoles"; * lstNiveles.DataBind(); * } * }*/ }
protected void btnDel_Click(object sender, System.EventArgs e) { System.Web.UI.WebControls.TreeView wft = (System.Web.UI.WebControls.TreeView)Web.Global.FindMyControl(Page, "wfTreeView"); System.Web.UI.WebControls.TreeNode tn = Global.GetNodeFromPath(wft.Nodes, NodeIndex); if (tn == null || tn.ChildNodes.Count > 1) { return; } if (lstEscogencia.SelectedIndex > -1 && tn.Value[0] == 'R') { if (lstEscogencia.Items.Count > 1) { int ID = Convert.ToInt32(tn.Value.Substring(2)); ArrayList rutas = WFGrupoDeRoles.ObtenerGruposDeRoles(ID, tn.Text); string camino = ""; int i = 0; for (int j = rutas.Count; i < j; i++) { if (((WFGrupoDeRoles)rutas[i]).intCodRoles != Convert.ToInt32(lstEscogencia.SelectedValue)) { camino += ((WFGrupoDeRoles)rutas[i]).intCodRoles.ToString() + ";"; } } if (WFWorkflow.InsertarCamino(Int32.Parse(tn.Value.Substring(2)), camino)) { FirstTime = true; Initialize(); } } else { int ID = Convert.ToInt32(tn.Value.Substring(2)); if (WFWorkflow.BorrarCamino(ID)) { FirstTime = true; Initialize(); } } } /* * Microsoft.Web.UI.WebControls.TreeView tvw = (Microsoft.Web.UI.WebControls.TreeView)Page.FindControl("tvWorkflow"); * //NodeIndex = tvw.SelectedNodeIndex; * Microsoft.Web.UI.WebControls.TreeNode tn = tvw.GetNodeFromIndex(tvw.SelectedNodeIndex); * * if (lstEscogencia.SelectedIndex > -1 && tn.NodeData[0] != 'N') * { * if(lstEscogencia.Items.Count > 1) * { * int ID = Convert.ToInt32(tn.NodeData); * ArrayList rutas = WFGrupoDeRoles.ObtenerGruposDeRoles(ID,tn.Text); * * string camino = ""; * int i = 0; * for(int j=rutas.Count; i<j; i++) * { * if(((WFGrupoDeRoles)rutas[i]).intCodRoles != Convert.ToInt32(lstEscogencia.SelectedValue)) * camino += ((WFGrupoDeRoles)rutas[i]).intCodRoles.ToString() + ";"; * } * * if (WFWorkflow.InsertarCamino(Int32.Parse(tn.NodeData),camino)) * { * FirstTime = true; * Initialize(); * } * } * else * { * int ID = Convert.ToInt32(tn.NodeData); * * if (WFWorkflow.BorrarCamino(ID)) * { * FirstTime = true; * Initialize(); * } * } * } * */ }