jQuery Mobile - Commuta colonne

Descrizione

L'interruttore delle colonne mette le colonne in un luogo nascosto e consente all'utente di selezionare le colonne secondo la propria scelta utilizzando il data-mode = "columntoggle" attributo.

Esempio

L'esempio seguente mostra l'uso della commutazione delle colonne in jQuery Mobile Framework.

<!DOCTYPE html>
<html>
   <head>
      <title>Table Column Toggle</title>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1">
      <link rel = "stylesheet" href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
      <script src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
      <script src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
   </head>

   <body>
      <div data-role = "header">
         <h2>Header</h2>
      </div>
      
      <table data-role = "table" id = "table-column-toggle" data-mode = "columntoggle" 
         class = "ui-responsive table-stripe" data-column-btn-theme = "b" 
         data-column-btn-text = "Click here to display columns...">
         
         <thead>
            <tr>
               <th data-priority = "1">Position</th>
               <th>Team</th>
               <th data-priority = "2">Rating</th>
               <th data-priority = "3">Points</th>
            </tr>
         </thead>
         
         <tbody>
            <tr>
               <th>1</th>
               <td>SOUTH AFRICA</td>
               <td>114</td>
               <td>3308</td>
            </tr>
            
            <tr>
               <th>2</th>
               <td>INDIA</td>
               <td>110</td>
               <td>3535</td>
            </tr>
            
            <tr>
               <th>3</th>
               <td>AUSTRALIA</td>
               <td>109</td>
               <td>4376</td>
            </tr>
            
            <tr>
               <th>4</th>
               <td>PAKISTAN</td>
               <td>106</td>
               <td>2977</td>
            </tr>
            
            <tr>
               <th>5</th>
               <td>NEW ZEALAND</td>
               <td>99</td>
               <td>3578</td>
            </tr>
            
            <tr>
               <th>6</th>
               <td>ENGLAND</td>
               <td>99</td>
               <td>3940</td>
            </tr>
            
            <tr>
               <th>7</th>
               <td>SRI LANKA</td>
               <td>89</td>
               <td>3123</td>
            </tr>
            
            <tr>
               <th>8</th>
               <td>WEST INDIES</td>
               <td>76</td>
               <td>2504</td>
            </tr>
            
            <tr>
               <th>9</th>
               <td>BANGLADESH</td>
               <td>47</td>
               <td>1026</td>
            </tr>
            
            <tr>
               <th>10</th>
               <td>ZIMBABWE</td>
               <td>5</td>
               <td>53</td>
            </tr>
         </tbody>
      </table>
      
      <div data-role = "footer">
         <h2>Footer</h2>
      </div>
      
   </body>
</html>

Produzione

Eseguiamo i seguenti passaggi per vedere come funziona il codice sopra:

  • Salva il codice html sopra come jqm_table_column_toggle.html file nella cartella principale del server.

  • Apri questo file HTML come http: //localhost/jqm_table_column_toggle.html e verrà visualizzato il seguente output.

Modalità di selezione delle colonne e impostazione della priorità delle colonne

È possibile visualizzare l'elemento della tabella utilizzando data-role = "table" e data-mode = "columntoggle" attributi come mostrato nel tag seguente.

<table data-role = "table" id = "table-column-toggle" data-mode = "columntoggle">

È possibile specificare quale colonna deve essere nascosta o visualizzata utilizzando il file data-priority attributo e assegnare il valore di priorità da 1 a 6. L'intestazione della tabella che avrà l'attributo di priorità dei dati sarà disponibile nel menu della colonna.

Tema e personalizzazione

Per impostazione predefinita, il testo sul pulsante è "Colonne ..." tuttavia è possibile modificare il testo utilizzando il data-column-btn-textattributo alla tabella. Puoi anche impostare il tema per il pulsante o il menu di selezione delle colonne utilizzandodata-column-btn-themeattributo. Le righe possono essere visualizzate in un formato a strisce aggiungendotable-stripe class all'elemento table.

Rendere le tabelle reattive

È possibile rendere le tabelle reattive in base alle dimensioni e all'orientamento dello schermo. Le media query specificano il comportamento di risposta alle colonne utilizzando la priorità e scrivono la media query utilizzandomin-widthattributo. Le larghezze impostate utilizzando le unità em risponderanno alle modifiche della dimensione del carattere ed è possibile calcolare il valore del pixel in unità em dividendo la larghezza di destinazione per 16 pixel.

Applicazione di un punto di interruzione preimpostato

È possibile applicare i punti di interruzione personalizzati per ogni livello di priorità aggiungendo il file class = "ui-responsive" all'elemento table come mostrato di seguito -

<table data-role = "table" class = "ui-responsive" id = "table-column-toggle" data-mod 
   e ="columntoggle">

È possibile utilizzare i seguenti stili preimpostati per ogni livello di priorità:

  • data-priority = "1" - Viene utilizzato per visualizzare la colonna a 320px (20em).

  • data-priority = "2" - Viene utilizzato per visualizzare la colonna a 480px (30em).

  • data-priority = "3" - Viene utilizzato per visualizzare la colonna a 640px (40em).

  • data-priority = "4" - Viene utilizzato per visualizzare la colonna a 800px (50em).

  • data-priority = "5" - Viene utilizzato per visualizzare la colonna a 960px (60em).

  • data-priority = "6" - Viene utilizzato per visualizzare la colonna a 1120px (70em).

Intestazioni di colonna raggruppate

I dati della colonna possono essere visualizzati sotto ciascuna intestazione raggruppata per i dati finanziari. È possibile utilizzare l'attributo priorità per analizzare la riga specificata e visualizzare i gruppi di intestazioni come opzioni. Qualsiasi intestazione di tabella data una priorità sarà disponibile nel menu di selezione delle colonne.