$("#jqGrid").jqGrid({
url: "getJsonData",
async: true,
mtype: "GET",
datatype: "json",
colModel: [
{ label: 'TESTID', name: 'testID', width: 60, sorttype: 'integer' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'SUBTESTID', name: 'subTestID', width:80, sorttype: 'string' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'CLIENT', name: 'client', width: 60, sorttype: 'string',
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'RESULTS', name: 'testResults', width: 70, sorttype: 'string',
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:true, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ lable:"Seq Id", hidden:true, name: 'seqId' }
],
loadComplete: function() {
var rowIds = $('#jqGrid').jqGrid('getDataIDs');
for (i = 0; i < rowIds.length; i++) {//iterate over each row
rowData = $('#jqGrid').jqGrid('getRowData', rowIds[i]);
if (rowData['testResults'] === "Pass") {
$('#jqGrid').jqGrid('setRowData', rowIds[i], true, "CSSClass");
}
if (rowData['testResults'] == "Fail") {
$('#jqGrid').jqGrid('setRowData', rowIds[i], true, "CSSClass1");
}
}
},
onSelectRow:function(rowid){
var rowData = jQuery('#jqGrid').jqGrid('getRowData', rowid);
if (rowData['testResults'] == "Fail") {
console.log("clicked");
$(this).jqGrid("toggleSubGridRow", rowid);
}
},
subGrid: true,
subgridtype:"json",
subGridRowExpanded: function(subgrid_id, row_id) {
var rowData = jQuery('#jqGrid').jqGrid('getRowData', row_id);
console.log("rowData:::"+rowData);
var seqId=rowData['seqId'];
console.log(seqId)
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class=' table2 scroll table-striped table' style='border: 1px solid #ccc;'></table>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"getCommentsJsonData/"+seqId,
datatype: "json",
mtype: "GET",
height:'auto',
width: 1400,
colNames: ['File Name','Field Name','Actual Field Value ','Excpected Field Value'],
colModel: [
{name:"fileName",index:"fileName"},
{name:"fieldName",index:"fieldName"},
{name:"actualFieldValue",index:"actualFieldValue"},
{name:"excpectedFiledValue",index:"excpectedFiledValue"},
],
loadonce:true,
rowNum:20
});
},
loadonce: true,
//navOptions: { reloadGridOptions: { fromServer: true } },
viewrecords: true,
width: 1390,
height: 300,
rowNum: 3000,
colMenu : true,
shrinkToFit : true,
grouping: true,
hoverrows:false,
groupingView: {
groupField: ["client"],
groupColumnShow: [true],
groupText: ["<b>{0}</b>"],
groupOrder: ["asc"],
groupSummary: [false],
groupCollapse: false
},
scroll: 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records
emptyrecords: 'Scroll to bottom to retrieve new page', // the message will be displayed at the bottom
sortable: true,
caption: "ART TEST CASES RESULTS",// set caption to any string you wish and it will appear on top of the grid
pager: "#jqGridPager"
});
$("#jqGrid").jqGrid("hideCol", "subgrid");
// activate the build in search with multiple option
$('#jqGrid').navGrid("#jqGridPager", {
search: true, // show search button on the toolbar
add: false,
edit: false,
del: false,
refresh: true,
},
{}, // edit options
{}, // add options
{}, // delete options
{ multipleSearch: true } // search options - define multiple search
);
$('.colmenu').on('click',function(event){
event.preventDefault();
})
// on chang select value change grouping
jQuery("#chngroup").change(function(){
var vl = $(this).val();
if(vl) {
if(vl === "clear") {
jQuery("#jqGrid").jqGrid('groupingRemove',true);
} else {
jQuery("#jqGrid").jqGrid('groupingGroupBy',vl);
}
}
});
Quand je mets loadonce = true dans ma grille de sous ne fonctionne pas, mais quand je l'ai changé cela loadonce = false alors sous-grille fonctionne mais mon pagination et des fonctionnalités à la recherche ne fonctionnent pas.jqGrid sous-maille ne fonctionne pas lorsque la charge une fois vrai
$(document).ready(function(){
$.jgrid.styleUI.Bootstrap.base.rowTable = " table1 table-bordered";
var previousRowId = 0;
$("#jqGrid").jqGrid({
url: "getJsonData",
async: true,
mtype: "GET",
datatype: "json",
colModel: [
{ label: 'TESTID', name: 'testID', width: 60, sorttype: 'integer' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'SUBTESTID', name: 'subTestID', width:80, sorttype: 'string' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'CLIENT', name: 'client', width: 60, sorttype: 'string' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:false, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{ label: 'RESULTS', name: 'testResults', width: 70, sorttype: 'string' ,
colmenu : true,
coloptions : {sorting:true, columns: true, filtering: true, seraching:true, grouping:true, freeze : true},
searchoptions : {
searchOperMenu : false,
sopt : ['eq','gt','lt','ge','le']
}
},
{
lable:"Seq Id",
hidden:true,
name: 'seqId'
}
],
loadComplete: function() {
var rowIds = $('#jqGrid').jqGrid('getDataIDs');
for (i = 0; i < rowIds.length; i++) {//iterate over each row
rowData = $('#jqGrid').jqGrid('getRowData', rowIds[i]);
if (rowData['testResults'] === "Pass") {
$('#jqGrid').jqGrid('setRowData', rowIds[i], true, "CSSClass");
}
if (rowData['testResults'] == "Fail") {
$('#jqGrid').jqGrid('setRowData', rowIds[i], true, "CSSClass1");
}
}
},
onSelectRow:function(rowid){
var rowData = jQuery('#jqGrid').jqGrid('getRowData', rowid);
if (rowData['testResults'] == "Fail") {
console.log("clicked");
$(this).jqGrid("toggleSubGridRow", rowid);
}
},
subGrid: true,
subgridtype:"json",
subGridRowExpanded: function(subgrid_id, row_id) {
var rowData = jQuery('#jqGrid').jqGrid('getRowData', row_id);
console.log("rowData:::"+rowData);
var seqId=rowData['seqId'];
console.log(seqId)
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class=' table2 scroll table-striped table' style='border: 1px solid #ccc;'></table>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"getCommentsJsonData/"+seqId,
datatype: "json",
mtype: "GET",
height:'auto',
width: 1400,
colNames: ['File Name','Field Name','Actual Field Value ','Excpected Field Value'],
colModel: [
{name:"fileName",index:"fileName"},
{name:"fieldName",index:"fieldName"},
{name:"actualFieldValue",index:"actualFieldValue"},
{name:"excpectedFiledValue",index:"excpectedFiledValue"},
],
loadonce:true,
rowNum:20
});
},
loadonce: true,
//navOptions: { reloadGridOptions: { fromServer: true } },
viewrecords: true,
width: 1390,
height: 300,
rowNum: 3000,
colMenu : true,
shrinkToFit : true,
grouping: true,
hoverrows:false,
groupingView: {
groupField: ["client"],
groupColumnShow: [true],
groupText: ["<b>{0}</b>"],
groupOrder: ["asc"],
groupSummary: [false],
groupCollapse: false
},
scroll: 1, // set the scroll property to 1 to enable paging with scrollbar - virtual loading of records
emptyrecords: 'Scroll to bottom to retrieve new page', // the message will be displayed at the bottom
sortable: true,
caption: "ART TEST CASES RESULTS",// set caption to any string you wish and it will appear on top of the grid
pager: "#jqGridPager"
});
$("#jqGrid").jqGrid("hideCol", "subgrid");
// activate the build in search with multiple option
$('#jqGrid').navGrid("#jqGridPager", {
search: true, // show search button on the toolbar
add: false,
edit: false,
del: false,
refresh: true,
},
{}, // edit options
{}, // add options
{}, // delete options
{ multipleSearch: true } // search options - define multiple search
);
$('.colmenu').on('click',function(event){
event.preventDefault();
})
// on chang select value change grouping
jQuery("#chngroup").change(function(){
var vl = $(this).val();
if(vl) {
if(vl === "clear") {
jQuery("#jqGrid").jqGrid('groupingRemove',true);
} else {
jQuery("#jqGrid").jqGrid('groupingGroupBy',vl);
}
}
});
});
Vous devez publier le code JavaScript que vous utilisez. Il est clair que tout peut être utilisé de manière correcte et incorrecte. On doit savoir plus de détails sur l'utilisation. De plus, il est strictement recommandé d'inclure ** la version ** de jqGrid, que vous utilisez (peut utiliser) et la fourche ([free jqGrid] (https://github.com/free-jqgrid/jqGrid), commercial [Guriddo jqGrid JS] (http://guriddo.net/?page_id=103334) ou un ancien jqGrid en version <= 4.7). Beaucoup de questions à propos de jqGrid utilise la balise "free-jqgrid", mais en utilisant un autre produit. – Oleg
merci @oleg la version que j'utilise est Guriddo jqGrid JS 5.2.1 –
Vous pouvez ouvrir le fichier 'jquery.jqgrid.min.js' dans l'éditeur de texte et voir le commentaire comme le début du fichier (voir [ici] (https://github.com/tonytomov/jqGrid/blob/v5.2.1/js/grid.base.js#L4-L9) aussi). Il contient [l'URL] (http://guriddo.net/?page_id=103334) avec la description du contrat de licence et ** les prix ** que vous devez payer. En d'autres termes, vous utilisez actuellement le produit ** commercial ** "Guriddo jqGrid JS". Je développe un produit alternatif sous le nom "free jqGrid" disponible sous licence MIT ou GPL ** complètement gratuit **. De toute façon, il faut connaître le code JavaScript pour vous aider. – Oleg