ฉันมีข้อกำหนดในการกรองข้อมูลในเครื่องใน jqgrid โดยไม่ต้องใช้ UI ในตัว ฉันติดตามคำตอบของ Oleg ในโพสต์ jqGrid Filtering Records มันใช้งานได้อย่างมีเสน่ห์ด้วยการเปลี่ยนแปลงการตั้งค่าของฉัน อย่างไรก็ตาม ดูเหมือนว่าฉันไม่สามารถใช้งานฟิลด์ที่มีการจัดรูปแบบระเบียนได้ ข้อมูล jqgrid เป็นแบบรีโมต
การโพสต์ตัวอย่างโค้ดจาก jqGrid Filtering Records เนื่องจากนั่นคือสิ่งที่ฉันมี:
$("#search").click(function() {
var searchFiler = $("#filter").val(), grid = $("#list"), f;
if (searchFiler.length === 0) {
grid[0].p.search = false;
$.extend(grid[0].p.postData,{filters:""});
}
f = {groupOp:"OR",rules:[]};
f.rules.push({field:"name",op:"cn",data:searchFiler});
f.rules.push({field:"note",op:"cn",data:searchFiler});
grid[0].p.search = true;
$.extend(grid[0].p.postData,{filters:JSON.stringify(f)});
grid.trigger("reloadGrid",[{page:1,current:true}]);
});
ในกรณีของฉัน ฟิลด์ 'ชื่อ' จะถูกจัดรูปแบบใน jqgrid:
{name:"name", index:"name", width:250, align:'left',
formatter: function(cellvalue, options, rowObject)
{
return rowObject.Data[0]['userName'];
}
},
...
jsonReader : {
repeatitems:false,
root: 'rows',
userdata: 'rows'
},
loadonce: true,
viewrecords: true,
autowidth: true,
multiselect: false,
height: 500,
rowNum: 999,
subGrid: true,
เราทำการค้นหาที่แบ็กเอนด์หนึ่งครั้งและเก็บข้อมูลไว้ใน 'แถว' เพื่อแสดงในตารางย่อย
พอยน์เตอร์ใด ๆ ที่ชื่นชมอย่างมาก
ขอบคุณ,
อาชา