Jump to content
Deivid Santos

DataGrid com opção de movimentar (reposicionar)

Recommended Posts

Salve galera, estou quebrando a cabeça aqui, já pesquisei mas não achei nada sobre.

Eu tenho alguns dados que busco no banco de dados e mostro em um datagrid, além do CRUD que implantei eu preciso ter a opção de mudar as posições no banco. Preciso fazer isso pois elas são informações que vão para um telão. e ele segue uma ordem na mostragem dos dados.

Teria alguma forma de arrastar a linha do grid e assim ele mudar o ID do mesmo conforme a posição que ficaria e assim os outros também seriam atualizados?

Como exemplo segue uma imagem de como ele funciona. por exemplo eu movimento o ID 1 na posição abaixo do ID 3, assim o ID 2 e 3 se tornariam 1 e 2 com essa movimentação e o que era 1 se torna 3.

image.thumb.png.fc37f611542f164765f1b365c54b5583.png

 

Agradeço qualquer ajuda que puder.

 

 

Share this post


Link to post
Share on other sites

Estou desenvolvendo uma aplicação ao qual justamente tenho setores são listados na página, havendo a possibilidade do administrador controlar a ordem que esses setores vão ser exibidos.

Minha lógica para fazer o tal foi:

  • Ter uma coluna X tipo (int) na tabela justamente para armazenar a ordem de exibição.
  • Ao criar novo registro consulto a tabela e vejo quantos registros existem, assim obtenho o último número a ser exibido (isso pode ser feito através da função count), com esse valor somo com ($valor += 1) e salvo o novo registro X esse passando a ser o último.
  • Ao editar nada mais faço que consultar alternando os valores entre eles, exemplo (se o N°3 vai ser Nº2, é fazer um updade no registro cujo seja número 2 ser 3 e o 3 ser 2).

 

Em resumo nada mais é que alterar os valores através de update.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rafaelmoreira78
      Boa tarde!
      Estou querendo fazer um select a partir da seleção de um combobox. Nesse combobox o usuário escolhe o tipo de busca que ele quer. Se é por nome, por id, por data etc. E depois, exibe os dados nos campos. Porém, não estou conseguindo e não sei como resolver isso.
      public void consultar(){ String sql ="select * from tbcertificados where ?=?"; try{ pst=conexao.prepareStatement(sql); pst.setString(1,cbConsulta.getSelectedItem().toString()); pst.setString(2,txtBusca.getText()); rs=pst.executeQuery(); if (rs.next()){ lblID.setText(rs.getString(1)); txtNome.setText(rs.getString(2)); comboCursos.setSelectedItem(rs.getString(3)); txtData.setText(rs.getString(4)); txtCH.setText(rs.getString(5)); txtEmpresa.setText(rs.getString(6)); txtObs.setText(rs.getString(7)); }  
    • By Febatera7
      Preciso construir um microsserviço, apenas no lado do servidor (Node.js) que leia menções e comentários em postagens em que o @ do meu cliente foi marcado, em seguida, salve essas mensagens em nosso banco de dados, para especialistas de atendimento para responderem mais tarde.
      Este microsserviço também deve ser capaz de ler e salvar as fotos destas postagens e comentários.
      Para Node.js, vi que não há SDK, então procurei os terceiros que o próprio Facebook indica, mas não encontrei nada sobre ler e responder a menções e comentários em postagens.
      Tentei utilizar as bibliotecas fb e fbgraph, mas nenhuma delas me dá as opções para ler postagens em que fui marcado, apenas as do meu próprio feed.
      Alguém pode me ajudar? Por onde posso começar? Há alguma outra biblioteca que consiga utilizar?
    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Sapinn
      Fala galera, tudo blz? Então estou com uma dúvida um pouco boba mas que não consegui resolver o problema ainda. Estou desenvolvendo um site para agendamento de serviços e resolvi fazer a pagina principal como uma dashboard (área de administrador) onde seria muito mais fácil para o usuário registrar os serviços entre outras coisas, enfim, estou com um problema quanto ao layout da página. Normalmente o dashboard tem um menu à esquerda e o conteúdo  fica à direita quando ocorre o clique no botão hambúrguer( Aquele que tem três tracinhos) esse menu é recolhido e esse conteúdo que fica a direita fica centralizado, às vezes, em muitos dashboard esse menu só é um pouco recolhido ficando amostra apenas os ícones enquanto o conteúdo da direita fica um pouco mais centralizado. A pergunta é como eu posso fazer isso? Outra coisa, na responsividade quando a página diminui o menu da uma retraída e o conteúdo fica centralizado quando é clicado no botão hambúrguer o menu não afasta o conteúdo de volta e sim fica por cima desse conteúdo. Não sei como fazer isso, eu estou melhorando quando ao desenvolvimento front-end mas ainda não é muito a minha praia. Eu tentei fazer isso com css grid (que por sinal é algo que eu não tenho tanta pratica, já que eu sou melhor com flebox) mas não funcionou e o código só ficou ruim e confuso. Se alguém puder me ajudar ficaria muito grato
       
      Não tem muito coisa ainda mas irei disponibilizar o código que desenvolvi até agora:
       
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Sistema de Gerenciamento</title>     <link rel="stylesheet" href="assets/css/style.css">     <link rel="icon" href="assets/images/icone-logo.png">     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.1/font/bootstrap-icons.css"> </head> <body>     <header>         <div class="bar-header">             <i class="bi bi-list"></i>         </div>     </header>     <nav class="menu">         <div class="user">             <i class="bi bi-person-circle"></i>             <p>Nome do Usuário</p>         </div>         <ul>             <li class="active"><a href=""><i class="bi bi-house-fill"></i> Inicio</a></li>             <li><a href=""><i class="bi bi-calendar-plus-fill"> </i>Adicionar Serviço</a></li>             <li><a href=""><i class="bi bi-person-plus-fill"></i> Adicionar Admin</a></li>             <li><a href=""><i class="bi bi-file-earmark-post-fill"></i> Configurações de Nota</a></li>             <li><a href=""><i class="bi bi-file-person"></i> Configurações da Conta</a></li>             <li><a href=""><i class="bi bi-box-arrow-right"></i> Sair</a></li>         </ul>     </nav>     <main></main>     <footer></footer> </body> </html>  
       
      *{     padding: 0;     margin: 0; } body{     font-family: Arial, Helvetica, sans-serif;     background-color: #e5e5e5; } .bar-header{     background-color: #4285f4;     position: fixed;     color: #fff;     width: 100%;     height: 40px;     font-size: 37px;     padding: 8px 16px;     z-index: 1; } .menu{     background-color: #26353e;     width: 260px;     height: 100vh;     position: fixed;     padding-top: 65px; } .menu ul li{     list-style: none;     padding: 15px;     cursor: pointer;     border-bottom: 1px solid #26353e; } .menu ul li:hover{     background-color: #4285f4;      } .menu li a{     color: #fff;     font-size: 18px;     text-decoration: none;     } .menu i{     font-size: 27px; } .menu .active{     background-color: #4285f4; } .user{     margin-left: 50px;     padding-bottom:10px ; } .user i{     font-size: 120px;     color: #4285f4; } .user p{     font-weight: bold;     font-size: 18px;     color: #fff; }
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.