如果行中的单元格具有错误值,我会尝试隐藏该行,到目前为止,我已经尝试使用如下格式化程序:
$("#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,但它不会删除它,并且它可以看到什么时候为假,什么时候不是,因为if函数完美地工作
最佳答案
最好删除数据,这些数据在disponibilita
列数据之前具有false
值将由jqGrid处理。在 datatype: "local"
的情况下,应该只修改输入数据,然后使用 data
参数修改输入。如果从服务器加载数据,可以使用 beforeProcessing
回调来修改从服务器返回的数据。
只有当由于某些其他原因无法实现上述场景时,才可以使用以下形式的 rowattr
回调
rowattr: function (item) { // !rowObject.disponibilita in your case
if (item.closed) {
return {style: "display:none;"};
}
}
参见the demo或以“类”形式:
rowattr: function (item) {
if (item.closed) {
return {"class": "my-hide"};
}
}
参见another demo 。您可以看到这两种解决方案都有效,但页面大小不正确。
关于javascript - JQGrid 自动隐藏单元格中带有 false 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35297863/