jQuery Mobile - Alternar coluna
Descrição
A alternância de coluna coloca as colunas em um esconderijo e permite que o usuário selecione colunas conforme sua escolha usando data-mode = "columntoggle" atributo.
Exemplo
O exemplo a seguir demonstra o uso de alternância de coluna no 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>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código acima -
Salve o código html acima como jqm_table_column_toggle.html arquivo na pasta raiz do servidor.
Abra este arquivo HTML como http: //localhost/jqm_table_column_toggle.html e a seguinte saída será exibida.
Modo do seletor de coluna e configuração da prioridade da coluna
Você pode exibir o elemento da tabela usando data-role = "table" e data-mode = "columntoggle" atributos conforme mostrado na seguinte tag.
<table data-role = "table" id = "table-column-toggle" data-mode = "columntoggle">
Você pode especificar qual coluna deve ser escondida ou mostrada usando o data-priority Atribua e atribua o valor de prioridade de 1 a 6. O cabeçalho da tabela que terá o atributo data-priority, estará disponível no menu da coluna.
Tema e Personalização
Por padrão, o texto no botão é "Colunas ...", mas você pode alterar o texto usando o data-column-btn-textatributo para a tabela. Você também pode definir o tema do botão ou do menu seletor de coluna usando odata-column-btn-themeatributo. As linhas podem ser exibidas em um formato listrado adicionandotable-stripe classe para o elemento da tabela.
Tornando as tabelas responsivas
Você pode tornar as tabelas responsivas de acordo com o tamanho da tela e a orientação. As consultas de mídia especificam o comportamento responsivo para colunas usando prioridade e grava a consulta de mídia usandomin-widthatributo. As larguras que são definidas usando unidades em, responderão às mudanças de tamanho da fonte e você pode calcular o valor do pixel em unidades em dividindo a largura alvo por 16 pixels.
Aplicando um Ponto de Interrupção Predefinido
Você pode aplicar os pontos de interrupção personalizados para cada nível de prioridade adicionando o class = "ui-responsive" ao elemento da tabela conforme mostrado abaixo -
<table data-role = "table" class = "ui-responsive" id = "table-column-toggle" data-mod
e ="columntoggle">
Você pode usar os seguintes estilos predefinidos para cada nível de prioridade -
data-priority = "1" - É usado para exibir a coluna em 320px (20em).
data-priority = "2" - É usado para exibir a coluna em 480px (30em).
data-priority = "3" - É usado para exibir a coluna em 640px (40em).
data-priority = "4" - É usado para exibir a coluna em 800px (50em).
data-priority = "5" - É usado para exibir a coluna em 960px (60em).
data-priority = "6" - É usado para exibir a coluna em 1120px (70em).
Cabeçalhos de coluna agrupados
Os dados da coluna podem ser mostrados em cada título agrupado para dados financeiros. Você pode usar o atributo priority para analisar a linha especificada e exibir os grupos de títulos como opções. Qualquer cabeçalho de tabela com prioridade estará disponível no menu do seletor de coluna.