// GENERA EL NODO CON LA INFORMACION EN LA PROPIEDAD TAG OBTENIDA DEL METODO Generar_info_nodo private TreeNode Generar_nodo(NodoPanel info_nodo) { TreeNode nodo = new TreeNode(info_nodo.Nombre); nodo.Name = info_nodo.Nombre; nodo.Tag = info_nodo; return(nodo); }
private void treeViewProcesos_DoubleClick(object sender, EventArgs e) { listViewParametros.Clear(); textBoxNombre.Text = treeViewProcesos.SelectedNode.Name; // MOSTRAR NOMBRE DEL PROCESO SELECCIONADO seleccionado = (NodoPanel)treeViewProcesos.SelectedNode.Tag; // SE HACE EL CAST PARA OBTENER INFO SOBRE EL PROCESO SELECCIONADO textBoxDescripcion.Text = seleccionado.Descripcion; // MOSTRAR DESCRICPCION DEL PROCESO SELECCIONADO if (seleccionado.Parametros) // SI NECESITA PARAMETROS PARA EXTRAERLOS DE LA BD { if (seleccionado.Elemento.Equals("proceso")) // SI ES PROCESO SE EXTRAEN LOS PARAMAMETROS CORRESPONDIENTES { DataTable parametros = control.Obtener_parametros(seleccionado.Id); listViewParametros.View = View.Details; // MOSTRAR INFO SOBRE EL PARAMETRO REQUERIDO LLenaListParametros(listViewParametros, parametros); // LLENAR LISTVIEW CON LA INFORMACION DE CADA PARAMETRO listViewParametros.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } } }
// PARA GUARDAR EN LA PROPIEDAD TAG DEL TREENODE Y OBTENER DATOS SOBRE EL PROCESO O CADENA // PRINCIPALMENTE SI ES QUE NECESITA PARAMETROS private NodoPanel Generar_info_nodo(DataRow datos_nodo, string elemento) { NodoPanel nuevo = new NodoPanel(); nuevo.Id = Int32.Parse(datos_nodo[0].ToString()); nuevo.Nombre = datos_nodo[1].ToString(); nuevo.Elemento = elemento; // PARA DIFERENCIAR if (!elemento.Equals("categoria")) // PARA CADENAS Y PROCESOS SE REQUIERE DESPLEGAR MAS DETALLE Y SABER SI REQUIEREN PARAMETROS { nuevo.Descripcion = datos_nodo[2].ToString(); nuevo.Parametros = Boolean.Parse(datos_nodo[3].ToString()); if (datos_nodo[4] != null) { nuevo.Id_categoria = Int32.Parse(datos_nodo[4].ToString()); } } return(nuevo); }
private void treeViewClasificados_DoubleClick(object sender, EventArgs e) { if (treeViewClasificados.SelectedNode.Level != 0) //level 0 -> categorias { listViewParametros.Clear(); listViewParametros.Controls.Clear(); textBoxNombre.Text = treeViewClasificados.SelectedNode.Name; // MOSTRAR NOMBRE DEL PROCESO SELECCIONADO seleccionado = (NodoPanel)treeViewClasificados.SelectedNode.Tag; // SE HACE EL CAST PARA OBTENER INFO SOBRE EL PROCESO SELECCIONADO textBoxDescripcion.Text = seleccionado.Descripcion; // MOSTRAR DESCRICPCION DEL PROCESO SELECCIONADO if (seleccionado.Parametros) // SI NECESITA PARAMETROS PARA EXTRAERLOS DE LA BD { if (seleccionado.Elemento.Equals("proceso")) // SI ES PROCESO SE EXTRAEN LOS PARAMAMETROS CORRESPONDIENTES { DataTable parametros = control.Obtener_parametros(seleccionado.Id); listViewParametros.View = View.Details; // MOSTRAR INFO SOBRE EL PARAMETRO REQUERIDO LLenaListParametros(listViewParametros, parametros); // LLENAR LISTVIEW CON LA INFORMACION DE CADA PARAMETRO listViewParametros.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); } else // SI ES CADENA SE BUSCAN LOS PROCESOs QUE LA INTEGRAN Y LUEGO LOS PARAMETROS COREESPONDIENTES A CADA UNO { /* SI LA CADENA CONTIENE CADENAS * // falta agregar bd esta caracteristica * if (seleccionado.contiene_cadenas) * { * * } * else // SI LA CADENA CONTIENE SOLO PROCESOS * {*/ // BUSCA CADA PROCESO QUE FORMA PARTE DE LA CADENA DataTable procesos_encadenados = control.Obtener_procesos_encadenados(seleccionado.Id); DataTable parametros = new DataTable(); // EXTRAER LOS PARAMETROS DE CADA PROCESO Y FUCIONARLOS EN UNA TABLA procesos_encadenados.AsEnumerable().ToList().ForEach(row => { parametros.Merge(control.Obtener_parametros(Int32.Parse(row["id_proceso"].ToString()))); }); listViewParametros.View = View.Details; LLenaListParametros(listViewParametros, parametros); //} } } } }