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 jonathasouza
      Como eu poderia colocar um botão no para setar um valor na tabela do php?
      meu codigo php abaixo, eu gostaria que ele colocasse o valor onclick $nome na parte do analista da tabela via modal.
       
       
       

          <?php
      $nome = isset($_GET["nome"])? $_GET["nome"]:null;
      $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null;
      $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null;
      $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null;
      $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null;
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`";
      if (mysqli_query($conexao, $query))
          { ?>
       
       
         <?php
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      if(mysqli_connect_errno($conexao)){
      echo 'Failed to connecto to database'.mysqli_connect_error();}

      $query= mysqli_query($conexao, "SELECT DISTINCT `solicitacao`, `prioridade`, `orgao` FROM ordem");
      ?>
                                  <?php while($rows = mysqli_fetch_array($query)): ?>
                                  <tr>
                                      <td><?php echo $rows['solicitacao']; ?></td>
                                      <td><?php echo $rows['prioridade']; ?></td>
                                      <td></td>
                                      <td></td>
                                      <td><?php echo $rows['orgao']; ?></td>
                                      <td></td>
                                      <td></td>
                                  </tr>
                                  <?php endwhile; ?>
       
       
       <!-- Modal -->
                          <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                              <div class="modal-dialog" role="document">
                                  <div class="modal-content">
                                      <div class="modal-header">
                                          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                          <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4>
                                      </div>
                                      <div class="modal-body">
                                          <div class="insertHere">
                                          </div>
                                      </div>
                                      <div class="modal-footer">
                                          <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
                                          <button class="btn btn-success" data-dismiss="modal" value="Add Item" onClick="addRow('OrderTable')">Confirmar</button>
                                      </div>
                                  </div>
                              </div>
                          </div>
    • By amandafuceli
      Sou iniciante no que se refere à linguagem do MySql e estou tentando filtrar algumas informações que preciso retirar de uma tabela.

      Basicamente eu tenho dados de indivíduos em anos seguidos (2003, 2004, 2005) todos em uma mesma tabela. Além desses dados, disponho de informações, por exemplo, da escolaridade (que pode mudar ano após ano, ou manter-se constante).

      Porém alguns registros da minha base de dados são inconsistentes, por exemplo, selecionando os primeiros registros ordenados pelo cpf e pelo ano, temos (mudei o cpf por motivos de sigilo dos dados):
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 Ano      CPF        Escolaridade 2004    10000000kkk 3 2005    10000000kkk 5 2003    10000000zzz 7 2005    10000000zzz 6 2003    10000000ttt 7 2005    10000000ttt 4 2004    10000000ppp 6 2005    10000000ppp 9 2004    10000000sss 7 2005    10000000sss 9 2005    10000000sss 9 2003    10000002xxx 6 2005    10000002xxx 7
      A escolaridade é codificada:
        1 2 3 4 5 6 7 8 9 10 11 12 ANALFABETO      1 ATE 5.A INC     2 5.A CO FUND     3 6. A 9. FUND    4 FUND COMPL      5 MEDIO INCOMP    6 MEDIO COMPL     7 SUP. INCOMP     8 SUP. COMP       9 MESTRADO        10 DOUTORADO       11 IGNORADO        -1
      Minha dúvida é: como posso filtrar essas inconsistências? Alguém pode me ajudar?  
    • By drx
      Olá Pessoal!
       
      É possível editar meu código em php em qualquer página no WP ?
      E com relação à segurança no WP, qual procedimento devo realizar? Devo deletar algum arquivo dentro da instalação do WP?
      Desde já agradeço.
    • By Lobo_RJ
      Código muito suspeito em javascript - Recebi de um amigo um link muito suspeito para o site iinet.com, me chamou a atenção porque utiliza o protocolo HTTP. Na página principal deste site, outro link remete à página do site easystreet.com, que também utiliza o protocolo HTTP. Realizei uma pesquisa no whois.net e o domínio iinet.com foi localizado, mas o domínio easystreet.com não foi localizado. Foi então que decidi inspecionar o código da página inicial de cada um do domínios e me chamou a atenção o código abaixo, encontrado na página inicial do domínio easystreet.com:
       
      <!doctype html>
      ...
      <link rel="pingback" href="http://easystreet.com/xmlrpc.php">
      ...
      <script data-avast-pam="y" type="text/javascript" name="AVAST_PAM_submitInjector">
            (function _submitInjector() {
              var f = document.querySelectorAll("form")[0]; // eslint-disable-line no-undef
              if (!f._avast_submit) {
                f._avast_submit = f.submit;
              }
              try {
                Object.defineProperty(f, "submit", {
                  get: function get() {
                    return function (prev_submit) {
                      prev_submit.call(this);
                      if (this._avast_inside_submit) {
                        return;
                      }
                      this._avast_inside_submit = true;
                      var evt = document.createEvent("CustomEvent");
                      evt.initEvent("scriptsubmit", true, true); // bubbling & cancelable
                      this.dispatchEvent(evt);
                      delete this._avast_inside_submit;
                    }.bind(this, this._avast_submit);
                  },
                  set: function set(submitFunc) {
                    this._avast_submit = submitFunc;
                  }
                });
              } catch (ex) {
                // ignored
              }
            })();
      </script>
      ...
      </html>
       
      Eu fiquei surpreso quando fiz uma pesquisa acerca da existência de algum arquivo do Avast denominado PAM e encontrei um arquivo C:\ProgramData\AVAST Software\Avast\pam\pam.json contendo dados como abaixo:
       
      {
        "json_version": 14,
        "update_frequency": 432000,
        "services": [
          {
            "version": 8,
            "icon_url": "https://pamcdn.avast.com/pamcdn/icons/facebook_com.png",
            "popular": 1,
            "url": "facebook.com",
            "login_url": "https://www.facebook.com",
            "name": "Facebook"
          },
          {
            "version": 8,
            "icon_url": "https://pamcdn.avast.com/pamcdn/icons/instagram_com.png",
            "popular": 1,
            "url": "instagram.com",
            "login_url": "https://www.instagram.com/accounts/login/",
            "name": "Instagram"
          },
          {
            "version": 12,
            "icon_url": "https://pamcdn.avast.com/pamcdn/icons/imdb_com.png",
            "popular": 0,
            "url": "imdb.com",
            "login_url": "https://www.imdb.com/registration/signin",
            "name": "IMDB"
          },
      ... (centenas de outros)
      }
       
      Eu não possuo conhecimento aprofundado de javascript, mas a existência do pingback (<link rel="pingback" href="http://easystreet.com/xmlrpc.php">) me levantou a suspeita de que este seja um exploit destinado à um ataque DDoS ou coisa pior como a coleta de credenciais de acesso dos usuários que cliquem nos links que levem às páginas do domínio easystreet.com, por isto eu venho aqui pedir a ajuda dos amigos que possuem um maior conhecimento de javascript.
       
      Desde já eu agradeço por qualquer colaboração.
       
      Lobo
      "Sempre aprendendo..."
    • By Jamersonjds
      Pra aprendizado, estou tentando listar dados do banco de dados e trazer os resultados para meu html.
      Estou conseguindo fazer com este código.
       
      <!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="UTF-8"> <title>Chat</title> <link rel="stylesheet" href="../public/style/reset.css"> <link rel="stylesheet" href="../public/style/chatStyle.css"> <!-- É adicionado a biblioteca jquery e o fontAwesome --> <link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet"> <link href="../public/style/fontawesome/css/all.css" rel="stylesheet"> <script src="../public/js/jquery.min.js"></script> </head> <style> .test2 { cursor: pointer; } </style> <script> $(document).ready(function(){ var itens = "", url = "../includes/configs/chat.php", itens2 = ""; // Capturar dados usando Método AJAX do jquery $.ajax({ url: url, cache: false, dataType: "json", success: function(retorno){ for(var i = 0; i<retorno.length; i++){ itens += "<li>"; itens += "<a class='test2' onclick='function retornou(){$('.Tes22').html('wadwd')}'>"; itens += "<div class='imgUserList'>"; itens += "<div class='widthUserImg'>"; itens += "<div class='imgUserListD'><img src='https://avatars0.githubusercontent.com/u/3966553?s=460&v=4' alt=''></div>"; itens += "</div>"; itens += "<div class='textUserList'>"; itens += "<input type='text' class='pegarID' value='" + retorno[i].id + "'>"; itens += "<span class='title'>" + retorno[i].email + "</span>"; itens += "<h1 class='title'>Está online</h1>"; itens += "</div>"; itens += "</div>"; itens += "</a>"; itens += "</li>"; } $(".pessoas").html(itens); } }) }); </script> <body onload="carregarItens()"> <div class="container"> <div class="listaPessoas"> <div class="headerPeople title"> <h1>Contatos</h1> <h2 class="Tes22"></h2> </div> <ul class="pessoas"> <!-- <li> <a href=""> <div class="imgUserList"> <div class="widthUserImg"> <div class="imgUserListD"><img src="https://avatars0.githubusercontent.com/u/3966553?s=460&v=4" alt=""></div> </div> <div class="textUserList"> <span class="title">10.1.196.90</span> <h1 class="title">Está online</h1> </div> </div> </a> </li> --> </ul> </div> <div class="chat"> <div class="chatHeader"> <div class="title text"> <h1>james</h1> </div> <div class="menuUser title"> <i class="fas fa-ellipsis-h"></i> </div> </div> <div class="chatMessage"> </div> <div class="chattext"> <form action=""> <input type="text" id="modal"> <button><i class="fas fa-paper-plane"></i></button> </form> </div> </div> <div class="infoPessoas"> </div> </div> <script src="../public/js/chat.js"></script> </body> </html> Porém estou querendo pegar apenas o ID e colocar em um <h2> e não estou conseguindo.
      Exemplo: Ao clicar em um dado vindo do banco de dados como é listado acima eu colocar o ID dele no <h2>.
       
      Este é meus dados vindo do PHP já no json.
      echo json_encode($dados, JSON_PRETTY_PRINT);  
×

Important Information

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