JQGrid会自动隐藏单元格中带有false的行

我试图隐藏一行如果其中的单元格具有错误值,到目前为止我已尝试使用这样的格式化程序:

$("#list").jqGrid({ //datatype: 'clientSide', colNames: ["Id", "Descrizione", "Data Vendita", "Disabilitato", "PISTA", "Piano Tariffario", "Data Validità Piano Tariffario", "PROMO", "Data Validità Promo", "CANONE CLIENTE NETTO MESE", "Vendibile", "Migrato"], colModel: [ { name: "id"}, { name: "descrizione", editable: true}, { name: "dataInizVendita", editable: true, formatter:vendita}, { name: "disabilitato", editable: true}, { name: "pista", editable: true}, { name: "pianoTariffario", editable: true}, { name: "dataInizPiano", editable: true, formatter:piano}, { name: "promo", editable: true}, { name: "dataInizPromo", editable: true, formatter:promo}, { name: "canoneNetto", editable: true}, { name: "disponibilita", editable: true, formatter:mostra}, { name: "migrato", editable: true, width:150, sortable: false, resizable:false, formatter:bottone} ], formatter: 'date', formatoptions: { srcformat: 'd/m/Y', newformat: 'd/m/Y'}, sortname: "id", sortorder: "asc" }) 

我关心的格式化程序是大多数,如果disponibilita是假的,它必须隐藏行!

 function mostra (cellvalue, options, rowObject) { if(rowObject.disponibilita == false) { $("#"+rowObject.id).hide(); } $("#list").trigger("reloadGrid"); return rowObject.disponibilita; } 

我也试过使用delRowdata,但它不会删除它,它可以看到它何时是假的,什么时候不是,因为if函数完美运行

在jqGrid处理数据之前 ,最好删除disponibilita列中具有false值的数据。 在datatype: "local"情况下datatype: "local"应该只修改输入数据,然后使用data参数修改输入。 在从服务器加载数据的情况下,可以使用beforeProcessing回调来修改从服务器返回的数据。

仅当您由于某些其他原因无法实现上述方案时,才能使用以下forms的rowattr回调

 rowattr: function (item) { // !rowObject.disponibilita in your case if (item.closed) { return {style: "display:none;"}; } } 

看演示或“课堂”forms:

 rowattr: function (item) { if (item.closed) { return {"class": "my-hide"}; } } 

看另一个演示 。 您可以看到这两种解决方案都有效,但页面大小不正确。

另一种方法是使用每个函数扫描tr和td数据,并在false时隐藏

 $('.hidefalse').click(function() { $("#grid tr").each(function () { var thisrow = $(this); $('td', this).each(function () { var value = $(this).text(); if (value == 'false') { $(thisrow).fadeOut(); } }) }) }) 

演示

要自动化,请取出点击function

演示