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

Javascript JQGrid会在单元格中自动隐藏带有false的行,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,如果某个单元格的值为false,我将尝试隐藏该行,到目前为止,我已尝试使用如下格式设置程序: $("#list").jqGrid({ //datatype: 'clientSide', colNames: ["Id", "Descrizione", "Data Vendita", "Disabilitato", "PISTA", "Piano Tariffario", "Data Validità P

如果某个单元格的值为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"

        })
我关心的格式化程序是mostra,如果disponibilita为false,它必须隐藏行

function mostra (cellvalue, options, rowObject)
{               

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

我也尝试过使用delRowdata,但它没有删除它,它可以看到它何时为false,何时为false,因为if函数工作得很好。另一种方法是使用each函数扫描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();
        }
     })

})

})

要使其自动化,请取消单击功能


另一种方法是使用each函数扫描tr和td数据,并在错误时隐藏

$('.hidefalse').click(function() {

$("#grid tr").each(function () {
var thisrow = $(this);

    $('td', this).each(function () {
        var value = $(this).text();

        if (value == 'false') {
            $(thisrow).fadeOut();
        }
     })

})

})

要使其自动化,请取消单击功能


最好在数据被jqGrid处理之前,删除
disponibilita
中有
false
值的数据。对于
数据类型:“local”
只需修改输入数据,然后使用
数据
参数修改输入。在从服务器加载数据的情况下,可以在处理前使用
回调来修改从服务器返回的数据

只有在由于某些其他原因而无法实现上述场景时,才可以使用以下形式的
rowattr
回调

rowattr: function (item) { // !rowObject.disponibilita in your case
    if (item.closed) {
        return {style: "display:none;"};
    }
}
见或以“类”形式:


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

最好删除
false
值在
disponibilita
中的数据,然后由jqGrid处理。对于
数据类型:“local”
只需修改输入数据,然后使用
数据
参数修改输入。在从服务器加载数据的情况下,可以在处理前使用
回调来修改从服务器返回的数据

只有在由于某些其他原因而无法实现上述场景时,才可以使用以下形式的
rowattr
回调

rowattr: function (item) { // !rowObject.disponibilita in your case
    if (item.closed) {
        return {style: "display:none;"};
    }
}
见或以“类”形式:


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

您是否计划下次删除此问题?当前的问题没有描述jqGrid的哪个版本和哪个fork(,或者版本1中的旧jqGrid)我删除了这个问题,因为我没有看到答案,我的问题一开始就错了2)我按照您的建议使用了rowattr,在类中,我尝试使用.ui小部件内容隐藏行。rowClass{display:“none”}但是它没有隐藏它,它是否有一个特定的命令来隐藏它?不管怎样,它应该是display:none;。。。。。。很抱歉,我仍然不知道您使用的是哪个
datatype
,以及您使用的是哪个版本的jqGrid。首选的方法是从数据中删除项目,而不是隐藏它,但必须知道所请求的信息。如果您确实使用了
rowattr
,那么您应该发布您尝试过但未成功的代码。因为我没有其他信息,所以我向您展示了如何在我的回答中正确使用
rowattr
。您是否计划下次删除此问题?当前的问题没有描述jqGrid的哪个版本和哪个fork(,或者版本1中的旧jqGrid)我删除了这个问题,因为我没有看到答案,我的问题一开始就错了2)我按照您的建议使用了rowattr,在类中,我尝试使用.ui小部件内容隐藏行。rowClass{display:“none”}但是它没有隐藏它,它是否有一个特定的命令来隐藏它?不管怎样,它应该是display:none;。。。。。。很抱歉,我仍然不知道您使用的是哪个
datatype
,以及您使用的是哪个版本的jqGrid。首选的方法是从数据中删除项目,而不是隐藏它,但必须知道所请求的信息。如果您确实使用了
rowattr
,那么您应该发布您尝试过但未成功的代码。因为我没有其他信息,所以我将在我的回答中说明如何正确使用
rowattr