in Education by
I want to have a tree expanded only when it is required. eg: OS Type is a leaf node it does not expand, but Memory has sub categories so it expands So what should I use to achieve something similar, since in jqGrid subgrid every row has an expansion, which I don't want here My code (took from your example) $('#compareContent').empty(); $('
'+ '
'+ '
') .appendTo('#compareContent'); var grid2 = $("#list3"); grid2.jqGrid({ datastr: myJson, datatype: "jsonstring", colNames: ['KeyName', 'Config1', 'Config2'], colModel: [ { name: 'elementName', index: 'elementName', key: true, width: 70 }, { name: 'attribute[0].firstValue', index: 'attribute[0].firstValue', width: 90}, { name: 'attribute.secondValue', index: 'attribute.secondValue', width: 100 } ], pager: '#gridpager3', rowNum: 10, viewrecords: true, jsonReader: { repeatitems: false, root: "response" }, //rownumbers: true, //multiselect: true, height: "320", autowidth:true, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { var subgrid_table_id, pager_id, iData = -1; subgrid_table_id = subgrid_id+"_t"; pager_id = "p_"+subgrid_table_id; $("#"+subgrid_id).html("
"); $.each(myJSONObject.list,function(i,item){ if(item.id === row_id) { iData = i; return false; } }); if (iData == -1) { return; // no data for the subgrid } jQuery("#"+subgrid_table_id).jqGrid({ datastr : myJSONObject.list[iData], datatype: 'jsonstring', colNames: ['Name','Value1','Value2'], colModel: [ {name:"name",index:"name",width:90}, {name:"firstValue",index:"firstValue",width:100}, {name:"secondValue",index:"secondValue",width:100} ], rowNum:20, pager: pager_id, sortname: 'name', sortorder: "asc", height: 'auto', autowidth:true, jsonReader: { repeatitems: false, //page: function() { return 1; }, root: "attribute" } }); jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false}); /*var html = 'Some HTML text which corresponds the row with id='+row_id+'
'+ ''+ 'image'+ ''; $("#" + subgrid_id).append(html);*/ }, loadComplete: function() { var pos=0; var envPos=0; var envHalt=0; $.each(myJson.response,function(i,val){ if(val.subCategory==="envVariable"&&envHalt===0) { console.info(val.subCategory+", "+envPos); envHalt++; envPos=pos; } pos++; }); console.info(envPos); var grid = $("#list3"); var subGridCells = $("td.sgcollapsed",grid[0]); $.each(subGridCells,function(i,value){ if (i==envPos) { } else { $(value).unbind('click').html(''); } }); } }); grid2.jqGrid('navGrid', '#gridpager3', { add: false, edit: false, del: false, search: false, refresh: true }); My JSON var myJson={ "response": [ { "id":"m1", "subCategory":"system", "elementName": "osname", "attribute": [ { "id":"m1_s1", "name": "osname", "firstValue": "Linux\n", "secondValue": "HP-US1000\n" } ], "isEqual": false, "isPrasentinXml1": false, "isPrasentinXml2": false }, { "id":"m2", "subCategory":"system", "elementName": "hostname", "attribute": [ { "id":"m2_s1", "name": "hostname", "firstValue": "estilo\n", "secondValue": "benz\n" } ], "isEqual": false, "isPrasentinXml1": false, "isPrasentinXml2": false }, { "id":"m3", "subCategory":"envVariable", "elementName": "SSASERVERLOGSDIR", "attribute": [ { "id":"m3_s1", "firstValue": "/home/hqusers1/IIR_1152825121_estilo_9.0.1SP2_32/iirlog", "secondValue": "/home/hqusers1/IIR_1152825121_estilo_9.0.1SP2_32/iirlog" } ], "isEqual": true, "isPrasentinXml1": false, "isPrasentinXml2": false }, { "id":"m4", "subCategory":"envVariable", "elementName": "SSABIN", "attribute": [ { "id":"m4_s1", "firstValue": "/home/hqusers1/IIR_1152825121_estilo_9.0.1SP2_32/bin", "secondValue": "/home/hqusers1/IIR_1152825121_estilo_9.0.1SP2_32/bin" } ], "isEqual": true, "isPrasentinXml1": false, "isPrasentinXml2": false }, { "id":"m5", "subCategory":"envVariable", "elementName": "tusc.tusc-RUN", "attribute": [ { "id":"m5_s1", "name": "information", "firstValue": "unzip" }, { "id":"m5_s2", "name": "name", "firstValue": "tusc.tusc-RUN" }, { "id":"m5_s3", "name": "version", "firstValue": "#" } ], "isEqual": false, "isPrasentinXml1": true, "isPrasentinXml2": false } ] },grid2; If subCategory == envVariable it should display a + symbol to expand This is what I came up with till now, also my Config1 and Config2 columns are not coming In the above image SSASERVERLOGSDIR, SSABIN and tusc.tusc-RUN should come under envVariable based on checking subCategory==envVariable envVariable will not have any Config1 and Config2 values Updated particular row's color does not change loadComplete: function() { var i, names=this.p.groupingView.sortnames[0], l = names.length; for (i=0;i 0) { // $(row).hasClass('jqgrow') if(row.cells[iCol].title=="false") //here i identify isEqual's value { if ($.inArray('myAltRowClass', className.split(' ')) === -1) { row.className = className + ' myAltRowClass'; } } } } } JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)

1 Answer

0 votes
by
It seems to me, that what you really try to implement is grouping of the data by subCategory. I strictly recommend you to look at the official demo page of jqGrid to see different possibilities which it can. Your code have one more general problem. You use name and index properties inside of colModel items in the form 'attribute[0].firstValue' which is not permitted. The name property and, in case of the local data also index property, can't contain any special characters. What you need to read your JSON data is to use additional jsonmap property: { name: 'firstValue', index: 'firstValue', width: 350, jsonmap:'attribute.0.firstValue' }, { name: 'secondValue', index: 'secondValue', width: 350,jsonmap:'attribute.0.secondValue' } Additionally you should define one more column which you will use for grouping of the data: { name: 'subCategory', index: 'subCategory' } To use grouping you should add following options in the jqGrid definition: grouping: true, groupingView: { groupField: ['subCategory'], groupOrder: ['desc'], groupDataSorted : true, groupColumnShow: [false], groupText: ['{0} - {1} Item(s)'] } The setting groupColumnShow: [false] hide the subCategory column used in grouping. If you want to hide the grouping header over all groups excepting the "envVariable" group and collapse "envVariable" group you can do this in the following way: loadComplete: function() { var i, names=this.p.groupingView.sortnames[0], l = names.length; for (i=0;i{0} - {1} Item(s)'] to groupText: ['{0}'].

Related questions

0 votes
    I'd like to line up items approximately like this: item1 item2 i3 longitemname i4 longitemname2 anotheritem ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    I'd like to line up items approximately like this: item1 item2 i3 longitemname i4 longitemname2 anotheritem ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    I'd like to line up items approximately like this: item1 item2 i3 longitemname i4 longitemname2 anotheritem ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    I'd like to line up items approximately like this: item1 item2 i3 longitemname i4 longitemname2 anotheritem ... Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    NOTE: I am not set on using VI, it is just the first thing that came to mind that might be able to do what I need ... there an automated way I can take the text: and change it to:...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    NOTE: I am not set on using VI, it is just the first thing that came to mind that might be able to do what I need ... there an automated way I can take the text: and change it to:...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    NOTE: I am not set on using VI, it is just the first thing that came to mind that might be able to do what I need ... there an automated way I can take the text: and change it to:...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    NOTE: I am not set on using VI, it is just the first thing that came to mind that might be able to do what I need ... there an automated way I can take the text: and change it to:...
asked Mar 19, 2022 in Education by JackTerrance
0 votes
    If you see jqGrid demo : http://www.trirand.com/blog/jqgrid/jqgrid.html Section : Advanced --> ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Feb 11, 2022 in Education by JackTerrance
0 votes
    If you see jqGrid demo : http://www.trirand.com/blog/jqgrid/jqgrid.html Section : Advanced --> ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Feb 10, 2022 in Education by JackTerrance
0 votes
    __________ is the ability to store something temporarily to reduce the loading times, and I/O of a system. A. Chassis B. Service registry C. Service Deployment D. Cache...
asked Jan 11, 2023 in Technology by JackTerrance
0 votes
    __________ is the ability to store something temporarily to reduce the loading times, and I/O of a system. A. Service registry B. Chassis C. Service Deployment D. Cache...
asked Jan 10, 2023 in Education by JackTerrance
0 votes
    What I'm trying to do: when an element with any class listed in an array is clicked, the class ( ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Jul 26, 2022 in Education by JackTerrance
0 votes
    What I'm trying to do: when an element with any class listed in an array is clicked, the class ( ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Jul 20, 2022 in Education by JackTerrance
0 votes
    What I'm trying to do: when an element with any class listed in an array is clicked, the class ( ... JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)...
asked Jul 20, 2022 in Education by JackTerrance
...