Estou usando o plugin jQuery DataTables para classificar os campos da tabela. Minha pergunta é: como desabilito a classificação para uma coluna específica? Eu tentei com o seguinte código, mas não funcionou:
"aoColumns": [
{ "bSearchable": false },
null
]
Eu também tentei o seguinte código:
"aoColumnDefs": [
{
"bSearchable": false,
"aTargets": [ 1 ]
}
]
mas isso ainda não produziu os resultados desejados.
javascript
jquery
sorting
datatables
usman
fonte
fonte
Respostas:
Isto é o que você está procurando:
fonte
[-1]
, então[1]
,[2]
, etc? O que-1
significa isso? A indexação de colunas não começa em1
dataTables?-1
é o índice contado no final da tabela. (-1
é a última coluna da tabela)-de DataTables exemplo - dados HTML5- * atributos - opções de tabela
Então você pode usar
data-orderable="false"
nath
coluna que não deseja classificar. Por exemplo, a segunda coluna "Avatar" na tabela abaixo não pode ser classificada:Veja um exemplo de trabalho em https://jsfiddle.net/jhfrench/6yxvxt7L/ .
fonte
Para desativar a classificação da primeira coluna, tente com o código abaixo no jquery da tabela de dados. O nulo representa a classificação habilitada aqui.
Desabilitar a classificação em uma coluna no jQuery Datatables
fonte
Usando o Datatables 1.9.4, desativei a classificação para a primeira coluna com este código:
EDITAR:
Você pode desativar mesmo usando a
no-sort
classe no seu<th>
,e use este código de inicialização:
EDIT 2
Neste exemplo, estou usando o Datables com Bootstrap, seguindo uma antiga postagem no blog. Agora, há um link com material atualizado sobre o estilo de tabelas de dados com bootstrap .
fonte
O que eu uso é apenas adicionar um atributo personalizado no thd td e controlar a classificação, verificando esse valor automaticamente.
Portanto, o código HTML será
E o JavaScript para inicializar as tabelas de dados será (ele obterá dinamicamente as informações de classificação da própria tabela;)
fonte
data-bSortable
vez debSortable
.bSortable
não é um atributo HTML válido.columnDefs
agora aceita uma classe. Eu diria que esse é o método preferido se você desejar especificar colunas para desativar na sua marcação:Então, no seu JS:
fonte
Aqui está o que você pode usar para desativar determinada coluna a ser desativada:
Então, tudo o que você precisa fazer é adicionar o "ordenável": false à coluna que você não deseja classificar.
fonte
fonte
"bSortable": false, "aTargets": [0]
Para desabilitar a classificação de coluna única, tente este exemplo:
Para Várias colunas, tente este exemplo: você só precisa adicionar o número da coluna. Por padrão, está começando de 0
Aqui só
Column 3
funcionafonte
A partir de 1.10.5 , basta incluir
em columnDefs e segmente sua coluna com
A tabela deve gostar:
fonte
Se você definir a
orderable
propriedade da coluna PRIMEIRO como false, também deverá definir aorder
coluna padrão , caso contrário ela não funcionará, pois a primeira coluna é a coluna de pedidos padrão. O exemplo abaixo desabilita a classificação na primeira coluna, mas define a segunda coluna como coluna de ordem padrão (lembre-se de que os índices do dataTables são baseados em zero).fonte
Aqui
0
está o índice da coluna. Se você deseja que várias colunas não sejam classificadas, mencione os valores do índice da coluna separados porcomma(,)
fonte
Para atualizar a resposta de Bhavish (que eu acho que é para uma versão mais antiga do DataTables e não funcionou para mim). Eu acho que eles mudaram o nome do atributo. Tente o seguinte:
fonte
data-orderable
... consulte stackoverflow.com/a/32281113/1430996 .data-sortable
também funciona, mas não consigo encontrar onde está documentado.Usando classe:
fonte
Isso funciona para mim para uma única coluna
fonte
Se você já precisa ocultar Algumas colunas, como eu oculto a coluna sobrenome. Eu apenas tive que concatenar fname, lname, então fiz a consulta, mas ocultei a coluna do front end. As modificações em Desativar classificação nessa situação são:
Observe que eu tinha a funcionalidade Ocultando aqui
Então eu a fundei
"aoColumnDefs"
fonte
Use o código a seguir para desativar o pedido na primeira coluna:
Para desativar a ordem padrão, você também pode usar:
fonte
Você pode usar o método .notsortable () diretamente na coluna
fonte
Existem duas maneiras, uma é definida em html quando você define cabeçalhos de tabela
Outra maneira é usar javascript, por exemplo, você tem tabela
então,
fonte
você também pode usar um índice negativo como este:
fonte
O código ficará assim:
fonte
Aqui está a resposta!
targets
é o número da coluna, começa em 0fonte
defina a classe "no-sort" na tabela e adicione css .no-sort {eventos-ponteiro: nenhum! importante; cursor: padrão! importante; imagem de fundo: nenhuma! importante; } com isso, oculta a seta atualizada e desativa o evento na cabeça.
fonte