none
TreeView C# Programación en Capas RRS feed

  • Pregunta

  • Buenas tardes foros, les tengo una pregunta, si alguien me pude dar un ejemplo o alguna información de como guardar un nodo nuevo en una base de datos, les digo, ya tengo mi treeview que se comunica con mi base de datos sql server, ya me carga desde ahí, pero ahora quiero que cuando cree un nuevo nodo desde visual studio ese nodo se me guarde en mi base de datos juntos con otros datos que necesito, como código, nombre, etc. Como podría hacerlo en programación en 3 capas o por lo menos un ejemplo para guiarme. Intento utilizar procedimientos almacenados.
    viernes, 15 de noviembre de 2019 20:12

Todas las respuestas

  • Hola   NathalyChR

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma,  te comento que para  que la comunidad de foros te pueda asesorar mejor, es necesario que nos compartas el form/code que estás desarrollando

     

     

    Gracias por usar los foros de MSDN.

     

    Pablo Rubio

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 21 de noviembre de 2019 22:38
    Moderador
  • Muchas gracias por la respuesta, necesito en estos momentos, saber como pasar los nodos hijos de mi treeview a un datagridview. Mi diseño, el 1.1 es mi nodo hijo del padre ACTIVOS quiero que ese nodo hijo se vea en mi datagridview cuando escriban el código 1.1 o si escribe activos corriente igual me aparezca el código 1.1. cuando preguntaba por lo del guardado era que al posicionarme en activos corrientes, con un boton de editar me permitiera guardar el nombre del siguiente nodo ejempleo: 1.1.01 ACTIVOS VARIOS por decirlo asi y ese ACTIVOS VARIOS junto con su codigo 1.1.01. se me guardara en mi base de datos con su respectivo padre osea que en mi base de datos sepa que su padre es ACTIVOS CORRIENTES. no puedo adjuntar imagenes asi se veria mi arbol

    -1 ACTIVOS

     --1.1 ACTIVOS CORRIENTES

    -2 PASIVOS

     --2.1 PASIVOS 2

       --- 2.1.1 PASIVOS 3

    -3 PATRIMONIO

    mi datagridview seria asi, de nuevo bo puedo adjuntar imagenes pero es asi, quiero que si colocan 1.1 en codigo cuenta aparezca el nombre activos corrientes y si escriben activos corrientes aparezca en codigo cuenta 1.1

    codigo cuenta |            nombre               | debe | haber | detalle

    |           1.1    |       activos corrientes      |         |           |


    estoy usando programacion en capas:

    capa datos:

    public class CD_PCuentas
        {
            conexion con = new conexion();
            SqlCommand comandSql = new SqlCommand();
    
            public SqlDataAdapter sqldata;
            public DataTable CargarDatos()
            {
                DataTable dataTableDatos = new DataTable();
                String consultaDatos = "Select * from TablaTreeV";
                sqldata = new SqlDataAdapter(consultaDatos, con.AbrirConexion());
                sqldata.Fill(dataTableDatos);
                con.CCerraConexion();
                return dataTableDatos;
            }


    capa negocio:

    public class CNegocio_PCuentas
        {
            CD_PCuentas cd_pcuentas = new CD_PCuentas();
    
            public DataTable RecogerDatos()
            {
                return cd_pcuentas.CargarDatos();
           }
    }

    y en mi form:

    CNegocio_PCuentas planCuentas = new CNegocio_PCuentas();
    
            private void CrearNodosPadre(int indicePadre, TreeNode nodePadre)
            {
                DataTable dataTableNodos = new DataTable();
                dataTableNodos = planCuentas.RecogerDatos();
    
                DataView dataViewNodosHijos = new DataView(dataTableNodos);
                dataViewNodosHijos.RowFilter = dataTableNodos.Columns["IdPadre"].ColumnName + " = " + indicePadre;
    
                foreach (DataRowView dataFilas in dataViewNodosHijos)
                {
                    TreeNode nuevoNodo = new TreeNode();
                    nuevoNodo.Text = dataFilas["Codigo"].ToString().Trim() + " " + dataFilas["Nombre"].ToString().Trim();
    
                    if (nodePadre == null)
                    {
                        treeView1.Nodes.Add(nuevoNodo);
                    }
                    else
                    {
                        nodePadre.Nodes.Add(nuevoNodo);
                    }
    
                    CrearNodosPadre(Int32.Parse(dataFilas["IdPCuentas"].ToString()), nuevoNodo);
                }

    y esa funcion la llamo desde mi load.

    no se si es necesario adjuntarle mi datagrid, porque solo muestra lo que les mostre en el escrito, no se como asociarlo a los hijos de mi treeview, agradeceria su ayuda. recuerden trabajo en 3 capas


    • Editado NathalyChR lunes, 25 de noviembre de 2019 14:19
    lunes, 25 de noviembre de 2019 14:17
  • Olvide esta es mi tabla del treeview

    IdPCuentas

    Codigo

    Nombre

    Cod_rapido

    IdPadre

    todos mis idpadres son 0 para que se ubiquen arriba, mi idpcuentas es autonumerico, mi codigo es donde dice 1.1 y el codigo rapido es el mismo codigo 1.1

    como editar ese nodo en mi form y que al guardarlo se guarden esos datos

    lunes, 25 de noviembre de 2019 14:23
  • Nadie ha hecho un CRUD con un treeview en 3 capas?
    viernes, 29 de noviembre de 2019 17:04