none
Como gravar os dados da TreeView para o banco de dados? RRS feed

  • Pergunta

  • Boa tarde.

    Como gravar os dados de uma treeview para o banco de dados?

    tenho uma TreeView com ChekBox e quero pegar o valor quando estiver checado = true e se não estiver checado = False

    e lançar isso para o bando de dados , como faço isso?

    Obrigado.

    danielbeneditorosa@hotmail.com

    Vb.Net

    Linq to sql


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    domingo, 1 de junho de 2014 11:52

Respostas

Todas as Respostas

  • Daniel, bom dia.

    Primeiramente você precisa dar uma olhada nesse artigo do Macoratti sobre isso:

    VB.NET – Populando o controle TreeView com tabelas e colunas do SQL Server

    O exemplo no link mostra como você carrega os dados da treeview do banco de dados.

    Depois disso é só adaptar o código para fazer a gravação. O segredo de trabalhar com treeview é ter a noção de como funciona o conceito de container/node pois isso é utilizado em quase todos os controles que eu já vi.

    Veja se isso soluciona o seu problema.

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    segunda-feira, 2 de junho de 2014 13:12
  • Boa noite e obrigado pela resposta.

    To com dificuldade em prencher uma TreeView com dados de 3 tabelas

    Tabela (Funcçoes): IdFunção, NomeFunção

    Tabela (SubModulos): IdSubModulo, NomeSubModulo

    Tabela (SubModuloFunção): IdSubModulo, IdFunção, Inserir, Eliminar, Actualizar, Consultar, Imprimir

    TreeView:

    1º- Nó

    NomeSubModulo

    2º - Nó

    NomeFunçoes

    3º - Nó

    Inserir

    Actualizar

    Eliminar

    Consultar

    Imprimir

    Esta é a estrutura que eu quero

    Obrigado pela resposta, to mesmo com problema em fazer isso...

    danielbeneditorosa@hotmail.com


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    segunda-feira, 2 de junho de 2014 23:18
  • Daniel, entendo seu problema.

    Gostaria que você postasse seu código atual aqui para que possamos te ajudar da melhor forma.

    Como você está tentando fazer ?

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    terça-feira, 3 de junho de 2014 13:18
  • Boa noite e obrigado pela resposta

    Eu não tenho ainda nenhum codigo para a TreeView, por isso to solicitando a ajuda para saber como posso compor o codigo de preenchimento e a construção dos Nós da treeView com base na estrutura que te passei.

    Eu to usando Vb.Net, Linq To Sql e a base de dados em Sql.

    Eu uso o DataContext e fiz o mapeamento das Intidades ...

    Mas abaixo mostro a estrutura das tabelas :

    USE [DANIROSA]

    GO

    CREATE TABLE [dbo].[SubModulo](

          [ID_SUBMODULO] [int] IDENTITY(1,1) NOT NULL,

          [ID_MODULO] [int] NOT NULL,

          [NOME_SUBMODULO] [varchar](50) NOT NULL,

          [ACTIVO] [bit] NOT NULL,

     CONSTRAINT [PK_SubModulo] PRIMARY KEY CLUSTERED

    (

    USE [DANIROSA]

    GO

    CREATE TABLE [dbo].[FunçoesUser](

          [CODIGO_FUNCAO_USER] [int] IDENTITY(1,1) NOT NULL,

          [NOME_FUNCAO_USER] [varchar](100) NOT NULL,

          [BLOQUEADO] [bit] NOT NULL,

     CONSTRAINT [PK_FunçoesUser] PRIMARY KEY CLUSTERED

    (

    USE [DANIROSA]

    GO

    CREATE TABLE [dbo].[SubModuloFuncao](

          [ID_SUBMODULO] [int] NOT NULL,

          [CODIGO_FUNCAO_USER] [int] NOT NULL,

          [INSERIR] [bit] NOT NULL,

          [ACTUALIZAR] [bit] NOT NULL,

          [ELIMINAR] [bit] NOT NULL,

          [CONSULTAR] [bit] NOT NULL,

          [IMPRIMIR] [bit] NOT NULL,

     CONSTRAINT [PK_SubModuloFuncao] PRIMARY KEY CLUSTERED

    (

         

    Com base nestas tabelas eu quero criar a TreeView com a estrutura do que descrevi na resposta acima...

    Obrigado pela ajuda.


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    quarta-feira, 4 de junho de 2014 23:24
  • Amigo segue dois bons tutoriais:

    Consumindo dados do banco em uma treeview:

    http://www.macoratti.net/11/12/vbn_tvw1.htm

    Operações CRUD com treeview em C#

    http://www.macoratti.net/11/11/c_ctv1.htm


    quinta-feira, 5 de junho de 2014 02:43
  • Vinicios Muito obrigado pela resposta e pelas dicas.

    Irmão ate agora não consegui solucionar o problema, podes dar um exemplo pratico com base nesta tabela?

    USE [DANIROSA]

    GO

    CREATETABLE [dbo].[SubModuloFuncao](

         [ID_SUBMODULO] [int] NOT NULL,

         [CODIGO_FUNCAO_USER] [int] NOT NULL,

         [INSERIR] [bit] NOT NULL,

         [ACTUALIZAR] [bit] NOT NULL,

         [ELIMINAR] [bit] NOT NULL,

         [CONSULTAR] [bit] NOT NULL,

         [IMPRIMIR] [bit] NOT NULL,

    CONSTRAINT [PK_SubModuloFuncao]PRIMARY KEY CLUSTERED

    (

    TreeView:

    1º- Nó

    NomeSubModulo

    2º - Nó

    NomeFunçoes

    3º - Nó

    Inserir

    Actualizar

    Eliminar

    Consultar

    Imprimir

    Mas enves de exibir os codigos, eu quero os nomes correspondesntes aos codigos desta tabela.

    Obrigado e aguardo pelo seu sinal.


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    domingo, 8 de junho de 2014 17:17
  • Daniel, aconselho você a mudar essa estrutura pois fica mais facil controlar tendo uma estrutura de tabela com nó pai/filho como referência.

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    segunda-feira, 9 de junho de 2014 12:05
  • Bom dia e obrigado Diego Murakami.

    Podes dar um Exemplo?

    Obrigado


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    segunda-feira, 9 de junho de 2014 13:53
  • Daniel,

    Esse link tem um exemplo prático com imagens:

    Persistindo TreeView no Banco de Dados

    Teste e poste seus resultados.

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    segunda-feira, 9 de junho de 2014 14:08
  • Obrigado pela resposta!

    eu ja li este artigo, praticamente ja li todos os artigos relacionados ao assunto publicados no google. por não encontrar uma solução que me satisfizesse por isso solicitei ajuda ao forum.

    Mas contudo muito obrigado pela sugestão de alterar a estrutura da tabela. Pois a minha tabela era relacionamento de muitos-para-muitos, e eu não consegui criar a arvor nesta tabela, tive que refazer a tabela de um-para-muitos e assim tentar criar a treeview, assim que terminar dou-te um sinal para dizer como ficou o codigo.

    Muito obrigado

    danielbeneditorosa@hotmail.com


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    segunda-feira, 9 de junho de 2014 19:29
  • Por nada Daniel, 

    Muitas vezes devemos descartar alguns códigos para pensar na manutenção no futuro.

    E essa estrutura com certeza não fica fora desse pensamento.

    Abraços !


    Diego Murakami View Diego Murakami's LinkedIn profile - MCP, MS, MCSD
    * Por favor "Marcar como Resposta" caso esta for útil para sua dúvida.

    segunda-feira, 9 de junho de 2014 19:37
  • Boa noite Daniel!

    com base nas alteraçoes que eu fiz na tabela Funçoes, o codigo ficou assim, falta agora adicionar um terceiro Nó com as opçoes da tabela.

    Abaixo ta a estrutura e o codigo

    PrivateSub FrmPermissoesSubModuloFuncaoAgrupamento_Load(senderAsObject, eAsEventArgs)HandlesMyBase.Load

         

           criarNóPrincipal()

           'expande todos os nós      

           TreeViewSubModulosFuncoes.ExpandAll()

           'retrai todos os nós      

           TreeViewSubModulosFuncoes.Focus()

       EndSub

       PrivateSub criarNóPrincipal()

           'criaçao do primeiro nó

           Dim dcAsNew BLL.DANIROSA.SubModulosSistemaBLL

           ForEach dadoIn dc.SelecionarListaSubModulosNome

               TreeViewSubModulosFuncoes.Nodes.Add(dado)

           Next

           Dim dc2AsNew DAL.DANIROSADataContext

           Dim Lista2 =From FuncoessIn dc2.LT_Funcoes

                        Select FuncoessOrderBy Funcoess.NOME_FUNCAO_USER

          Dim noPrincipalAsTreeNode

           Dim Funcoe As String

           ForEach submlAs DAL.LT_FuncoesResultIn Lista2

               Funcoe = subml.NOME_SUBMODULO

               ForEach noPrincipalIn TreeViewSubModulosFuncoes.Nodes

                   If noPrincipal.Text = FuncoeThen

                       noPrincipal.Nodes.Add(subml.NOME_FUNCAO_USER)

                   EndIf

               Next

           Next

       EndSub

    Podes  ajudar a criar o terceiro nó ?

    alterei a estrutura da tabela e ficou assim:

    CREATETABLE [dbo].[FunçoesUser](

        [CODIGO_FUNCAO_USER] [int] IDENTITY(10001,1)NOTNULL,

        [ID_SUBMODULO] [int] NULL,

        [NOME_FUNCAO_USER] [varchar](100)NOTNULL,

        [INSERIR] [bit] NULL,

        [ACTUALIZAR] [bit] NULL,

        [ELIMINAR] [bit] NULL,

        [CONSULTAR] [bit] NULL,

        [IMPRIMIR] [bit] NULL,

        [BLOQUEADO] [bit] NOT NULL,

    CONSTRAINT [PK_FunçoesUser]PRIMARYKEY CLUSTERED

    obrigado


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    terça-feira, 10 de junho de 2014 23:11
  • Boa tarde prof.

    Usando: VB.NET, LINQ TO SQL  (DataContext)

    Desculpa repetir o mesmo assunto, mas to com dificuldade em resolver a treeview, ja ate alterei a estrutura da tabela, mas não consegui Criar a TreeView, queria pedir ao prof, se possivel criar uma treeview com base na estrutura da tabela abaixo descrita e me passar?

    Ja lutei bastante e não consegui resolver a situação, por isso to passando a estrutura da tabela ao prof, se possivel criar com base a minha tabela e me passar.

    Abaixo a estrutura da tabela:

    CREATE TABLE [dbo].[SubModulo](

         [ID_SUBMODULO] [int] IDENTITY(1,1) NOT NULL,

         [ID_MODULO] [int] NOT NULL,

         [NOME_SUBMODULO] [varchar](50) NOT NULL,

         [ACTIVO] [bit] NOT NULL,

    CONSTRAINT [PK_SubModulo] PRIMARY KEY CLUSTERED

    (

    CREATE TABLE [dbo].[FunçoesUser](

         [CODIGO_FUNCAO_USER] [int] IDENTITY(1,1) NOT NULL,

         [ID_SUBMODULO] [int] NULL,

         [NOME_FUNCAO_USER] [varchar](100) NOT NULL,

         [INSERIR] [bit] NULL,

         [ACTUALIZAR] [bit] NULL,

         [ELIMINAR] [bit] NULL,

         [CONSULTAR] [bit] NULL,

         [IMPRIMIR] [bit] NULL,

         [BLOQUEADO] [bit] NOT NULL,

    CONSTRAINT [PK_FunçoesUser] PRIMARY KEY CLUSTERED

    (

    1º - Os SubModulos

    2º - As Funçoes pertencentes a cada SubModulo

    3º - As opçoes de cada Função (Inserir, Actualizar, Eliminar, Consultar e Imprimir)

    Por favor prof.

    Obrigado e boa tarde.

    danielbeneditorosa@hotmail.com


    Daniel Rosa Iniciante de programação em vb.net, linq sql e Sql server

    sexta-feira, 13 de junho de 2014 15:31