jQWidgets Forums
Forum Replies Created
-
Author
-
December 9, 2014 at 9:36 am in reply to: highlight a particular row under specific conditions in a jqwidgets nested grid highlight a particular row under specific conditions in a jqwidgets nested grid #63948
hello Dimitar, Thank for the reply. If cellclassname works for the nested grids too, why didn’t my code work . The fire bug error shows cellclassname is not identified. And also I need the whole row highlighted, instead of a single cell.
December 1, 2014 at 10:53 am in reply to: Is there any type of grid that doesnt have the member url and can load json data Is there any type of grid that doesnt have the member url and can load json data #63567Thanks Peter, Ok then tell me how would I dynamically set the Grid’s source property, what I just tried was omitted the data and localdata property and inside source made the datafields according to my data. But couldn’t get the data loaded. Please help!!
December 1, 2014 at 10:19 am in reply to: Is there any type of grid that doesnt have the member url and can load json data Is there any type of grid that doesnt have the member url and can load json data #63560Thanks Peter for the fast response. The example you gave me uses
var data = ‘[{ “CompanyName”: “Alfreds Futterkiste”, “ContactName”: “Maria Anders”, “ContactTitle”: “Sales Representative”,…….}]’ as hard coding the data. But I cannot do this as my data is dynamically created by my function.November 19, 2014 at 10:58 am in reply to: Data fillup in grid row wise through sorce as array Data fillup in grid row wise through sorce as array #63005Hello, I have a little different scenario than this. I want to populate the grid row wise in a nested grid. How can I accomplish this? Please help.
November 14, 2014 at 6:42 pm in reply to: How can i add a delete column to a jqxgrid How can i add a delete column to a jqxgrid #62781Hello Dimitar or someone else there to help?
November 14, 2014 at 1:55 pm in reply to: How can i add a delete column to a jqxgrid How can i add a delete column to a jqxgrid #62770This is my formatted code. Please look at it.
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'> nested Grid plugins.</title> <link rel="stylesheet" href="~/Scripts/jqwidgets/styles/jqx.base.css" type="text/css" /> <script type="text/javascript" src="~/Scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxnumberinput.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxwindow.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxlistbox.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxdropdownlist.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxinput.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.filter.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.sort.js"></script> <script type="text/javascript"> $(document).ready(function () { var url = "/Merchant1/GetRequestTypeList"; var source = { datafields: [ { name: 'RequestTypeId' }, { name: 'RequestTypeName' } ], //root: "Employees", //record: "Employee", id: 'RequestTypeId', datatype: "json", async: false, url: url }; // initialize the input fields. var employeesAdapter = new $.jqx.dataAdapter(source); var orderdetailsurl = "/Merchant1/GetRequestTypeList"; var ordersSource = { datafields: [ { name: 'RequestTypeId', type: 'integer' }, { name: 'RequestDetailId', type: 'integer' }, { name: 'RequestDetailName', type: 'string' } ], //root: "Orders", records: "RequestDetailId", datatype: "json", url: orderdetailsurl, async: false }; var ordersDataAdapter = new $.jqx.dataAdapter(ordersSource, { autoBind: true }); var editrow = -1; orders = ordersDataAdapter.records; var nestedGrids = new Array(); // create nested grid. var initrowdetails = function (index, parentElement, gridElement, records) { var id = records.uid.toString(); var grid = $($(parentElement).children()[0]); nestedGrids[index] = grid; var filtergroup = new $.jqx.filter(); var filter_or_operator = 1; var filtervalue = id; var filtercondition = 'equal'; var filter = filtergroup.createfilter('stringfilter', filtervalue, filtercondition); // fill the orders depending on the id. var ordersbyid = []; for (var m = 0; m < orders.length; m++) { var result = filter.evaluate(orders[m]["RequestTypeId"]); if (result) ordersbyid.push(orders[m]); } var orderssource = { datafields: [ { name: 'RequestTypeId', type: 'integer' }, { name: 'RequestDetailId', type: 'integer' }, { name: 'RequestDetailName', type: 'string' }, ], id: 'RequestDetailId', localdata: ordersbyid } // initialize the input fields. $("#RequestDetailName").jqxInput(); $("#RequestDetailName").width(150); $("#RequestDetailName").height(23); $("#RequestDetailId").jqxNumberInput({ spinMode: 'simple', width: 150, height: 23, min: 0, decimalDigits: 0, spinButtons: true }); var nestedGridAdapter = new $.jqx.dataAdapter(orderssource); var editrow = -1; var idd; if (grid != null) { grid.jqxGrid({ source: nestedGridAdapter, width: 780, height: 200, columns: [ { text: 'RequestDetailId', datafield: 'RequestDetailId', width: 200 }, { text: 'RequestDetailName', datafield: 'RequestDetailName', width: 200 }, { text: 'Edit', datafield: 'Edit', width: 80, columntype: 'button', cellsrenderer: function () { return "Edit"; }, buttonclick: function (row) { // open the popup window when the user clicks a button. editrow = row; idd = $("#jqxgrid").jqxGrid('getrowid', row); // openPopup(row); var offset = $("#jqxgrid").offset(); $("#popupWindow").jqxWindow({ position: { x: parseInt(offset.left) + 60, y: parseInt(offset.top) + 60 } }); // get the clicked row's data and initialize the input fields. var dataRecord = $("#jqxgrid").jqxGrid('getrowdata', editrow); $("#RequestDetailName").val(dataRecord.RequestDetailName); $("#RequestDetailId").jqxNumberInput({ decimal: dataRecord.RequestDetailId }); // show the popup window. $("#popupWindow").jqxWindow('open'); //var id = (row + 1).toString(); //loadDetailsGrid(id); } } ] }); } } // initialize the popup window and buttons. $("#popupWindow").jqxWindow({ width: 350, resizable: true, isModal: true, autoOpen: false, cancelButton: $("#Cancel"), modalOpacity: 0.01 }); $("#popupWindow").on('open', function () { $("#RequestDetailName").jqxInput('selectAll'); }); $("#Cancel").jqxButton(); $("#Save").jqxButton(); var renderer = function (row, column, value) { return '<span style="margin-left: 4px; margin-top: 9px; float: left;">' + value + '</span>'; } // creage jqxgrid $("#jqxgrid").jqxGrid( { width: 850, height: 365, source: source, rowdetails: true, rowsheight: 35, initrowdetails: initrowdetails, rowdetailstemplate: { rowdetails: "<div id='grid' style='margin: 10px;'></div>", rowdetailsheight: 220, rowdetailshidden: true }, ready: function () { $("#jqxgrid").jqxGrid('showrowdetails', 1); }, columns: [ { text: 'RequestTypeId', datafield: 'RequestTypeId', width: 150, cellsrenderer: renderer }, { text: 'RequestTypeName', datafield: 'RequestTypeName', width: 150, cellsrenderer: renderer } ] }); }); </script> </head> <body class='default'> <div id='jqxWidget'> <div id="jqxgrid"></div> <div style="margin-top: 30px;"> <div id="cellbegineditevent"></div> <div style="margin-top: 10px;" id="cellendeditevent"></div> </div> <div id="popupWindow"> <div>Edit</div> <div style="overflow: hidden;"> <table> <tr> <td align="right">RequestDetailName:</td> <td align="left"><input id="RequestDetailName" /></td> </tr> <tr> <td align="right">RequestDetailId:</td> <td align="left"><div id="RequestDetailId"></div></td> </tr> <tr> <td align="right"></td> <td style="padding-top: 10px;" align="right"><input style="margin-right: 5px;" type="button" id="Save" value="Save" /><input id="Cancel" type="button" value="Cancel" /></td> </tr> </table> </div> </div> </div> </body> </html>
November 14, 2014 at 10:57 am in reply to: How can i add a delete column to a jqxgrid How can i add a delete column to a jqxgrid #62758Hi, I went through all these links. I have been able to create a nested grid.Also I have been able to create a popup window when the edit button is clicked for the nested grid. But my problem is data is not being loaded on the popup window. Please help me to find what is missing or where am I mistaken.
<!DOCTYPE html>
<html lang=”en”>
<head>
<title id=’Description’> nested Grid plugins.</title>
<link rel=”stylesheet” href=”~/Scripts/jqwidgets/styles/jqx.base.css” type=”text/css” />
<script type=”text/javascript” src=”~/Scripts/jquery-1.10.2.min.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxcore.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxdata.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxbuttons.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxscrollbar.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxmenu.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.selection.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxnumberinput.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxwindow.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxlistbox.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxdropdownlist.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxinput.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.filter.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.sort.js”></script><script type=”text/javascript”>
$(document).ready(function () {
var url = “/Merchant1/GetRequestTypeList”;var source =
{
datafields: [
{ name: ‘RequestTypeId’ },
{ name: ‘RequestTypeName’ }
],
//root: “Employees”,
//record: “Employee”,
id: ‘RequestTypeId’,
datatype: “json”,
async: false,
url: url
};// initialize the input fields.
var employeesAdapter = new $.jqx.dataAdapter(source);
var orderdetailsurl = “/Merchant1/GetRequestTypeList”;
var ordersSource =
{
datafields: [
{ name: ‘RequestTypeId’, type: ‘integer’ },
{ name: ‘RequestDetailId’, type: ‘integer’ },
{ name: ‘RequestDetailName’, type: ‘string’ }],
//root: “Orders”,
records: “RequestDetailId”,
datatype: “json”,
url: orderdetailsurl,
async: false
};var ordersDataAdapter = new $.jqx.dataAdapter(ordersSource, { autoBind: true });
var editrow = -1;
orders = ordersDataAdapter.records;
var nestedGrids = new Array();// create nested grid.
var initrowdetails = function (index, parentElement, gridElement, records) {
var id = records.uid.toString();
var grid = $($(parentElement).children()[0]);
nestedGrids[index] = grid;
var filtergroup = new $.jqx.filter();
var filter_or_operator = 1;
var filtervalue = id;
var filtercondition = ‘equal’;
var filter = filtergroup.createfilter(‘stringfilter’, filtervalue, filtercondition);
// fill the orders depending on the id.
var ordersbyid = [];
for (var m = 0; m < orders.length; m++) {
var result = filter.evaluate(orders[m][“RequestTypeId”]);
if (result)
ordersbyid.push(orders[m]);
}var orderssource = {
datafields: [
{ name: ‘RequestTypeId’, type: ‘integer’ },
{ name: ‘RequestDetailId’, type: ‘integer’ },
{ name: ‘RequestDetailName’, type: ‘string’ },],
id: ‘RequestDetailId’,
localdata: ordersbyid
}
// initialize the input fields.
$(“#RequestDetailName”).jqxInput();
$(“#RequestDetailName”).width(150);
$(“#RequestDetailName”).height(23);$(“#RequestDetailId”).jqxNumberInput({ spinMode: ‘simple’, width: 150, height: 23, min: 0, decimalDigits: 0, spinButtons: true });
var nestedGridAdapter = new $.jqx.dataAdapter(orderssource);
var editrow = -1;
var idd;
if (grid != null) {
grid.jqxGrid({
source: nestedGridAdapter, width: 780, height: 200,columns: [
{ text: ‘RequestDetailId’, datafield: ‘RequestDetailId’, width: 200 },
{ text: ‘RequestDetailName’, datafield: ‘RequestDetailName’, width: 200 },
{
text: ‘Edit’, datafield: ‘Edit’, width: 80, columntype: ‘button’, cellsrenderer: function () {
return “Edit”;
}, buttonclick: function (row) {
// open the popup window when the user clicks a button.
editrow = row;
idd = $(“#jqxgrid”).jqxGrid(‘getrowid’, row);
// openPopup(row);
var offset = $(“#jqxgrid”).offset();
$(“#popupWindow”).jqxWindow({ position: { x: parseInt(offset.left) + 60, y: parseInt(offset.top) + 60 } });// get the clicked row’s data and initialize the input fields.
var dataRecord = $(“#jqxgrid”).jqxGrid(‘getrowdata’, editrow);
$(“#RequestDetailName”).val(dataRecord.RequestDetailName);
$(“#RequestDetailId”).jqxNumberInput({ decimal: dataRecord.RequestDetailId });// show the popup window.
$(“#popupWindow”).jqxWindow(‘open’);
//var id = (row + 1).toString();
//loadDetailsGrid(id);
}
}
]
});
}
}
// initialize the popup window and buttons.
$(“#popupWindow”).jqxWindow({
width: 350, resizable: true, isModal: true, autoOpen: false, cancelButton: $(“#Cancel”), modalOpacity: 0.01
});$(“#popupWindow”).on(‘open’, function () {
$(“#RequestDetailName”).jqxInput(‘selectAll’);
});$(“#Cancel”).jqxButton();
$(“#Save”).jqxButton();
var renderer = function (row, column, value) {
return ‘<span style=”margin-left: 4px; margin-top: 9px; float: left;”>’ + value + ‘</span>’;
}// creage jqxgrid
$(“#jqxgrid”).jqxGrid(
{
width: 850,
height: 365,
source: source,
rowdetails: true,
rowsheight: 35,
initrowdetails: initrowdetails,
rowdetailstemplate: { rowdetails: “<div id=’grid’ style=’margin: 10px;’></div>”, rowdetailsheight: 220, rowdetailshidden: true },
ready: function () {
$(“#jqxgrid”).jqxGrid(‘showrowdetails’, 1);
},
columns: [{ text: ‘RequestTypeId’, datafield: ‘RequestTypeId’, width: 150, cellsrenderer: renderer },
{ text: ‘RequestTypeName’, datafield: ‘RequestTypeName’, width: 150, cellsrenderer: renderer }
]
});
});
</script>
</head>
<body class=’default’>
<div id=’jqxWidget’>
<div id=”jqxgrid”></div>
<div style=”margin-top: 30px;”>
<div id=”cellbegineditevent”></div>
<div style=”margin-top: 10px;” id=”cellendeditevent”></div>
</div>
<div id=”popupWindow”>
<div>Edit</div>
<div style=”overflow: hidden;”>
<table>
<tr>
<td align=”right”>RequestDetailName:</td>
<td align=”left”><input id=”RequestDetailName” /></td>
</tr><tr>
<td align=”right”>RequestDetailId:</td>
<td align=”left”><div id=”RequestDetailId”></div></td>
</tr>
<tr>
<td align=”right”></td>
<td style=”padding-top: 10px;” align=”right”><input style=”margin-right: 5px;” type=”button” id=”Save” value=”Save” /><input id=”Cancel” type=”button” value=”Cancel” /></td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>`Thank you in advance.
November 13, 2014 at 11:03 am in reply to: how to get the data for the nested grid how to get the data for the nested grid #62687Thank you Dimitar for the link. But still I couldn’t find where I am mistaken. Please have a look at it. I am getting the parent data loaded. But the nested grid data are not being loaded. I also get the same number of rows as my data Is.But still the actual data is not being loaded.Please help me on this.
This is my json data created by the controller.[{"OldDataId":3,"RequestTypeId":1,"RequestTypeName":"Restaurant","RequestDetailId":1,"RequestDetailName":"House"}, {"OldDataId":4,"RequestTypeId":1,"RequestTypeName":"Restaurant","RequestDetailId":2,"RequestDetailName":"Kfc"},{"OldDataId":5,"RequestTypeId":2,"RequestTypeName":"RetailStore","RequestDetailId":3,"RequestDetailName":"BigMart"}]
And this is my code for loading the data:
I need the RequestTypeId and RequestTypeName on the parent data and RequestDetailId and RequestDetailName on the nested grid.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>NestedGrid</title> <link rel="stylesheet" href="~/Scripts/jqwidgets/styles/jqx.base.css" type="text/css" /> <script type="text/javascript" src="~/Scripts/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxdata.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxscrollbar.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxmenu.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.selection.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.filter.js"></script> <script type="text/javascript" src="~/Scripts/jqwidgets/jqxgrid.sort.js"></script> <script type="text/javascript"> $(document).ready(function () { var url = "/Merchant1/GetRequestTypeList"; var source = { datafields: [ { name: 'RequestTypeId' }, { name: 'RequestTypeName' }, ], //root: "OldDataId", //record: "RequestType", id: 'RequestTypeId', datatype: "json", async: false, url: url }; var employeesAdapter = new $.jqx.dataAdapter(source); var orderdetailsurl = "/Merchant1/GetRequestTypeList"; var ordersSource = { datafields: [ { name: 'RequestTypeId', type: 'integer' }, { name: 'RequestDetailName', type: 'string' }, { name: 'RequestDetailId', type: 'integer' }, ], //root: "p", records: "RequestDetailName", datatype: "json", url: orderdetailsurl, async: false }; var ordersDataAdapter = new $.jqx.dataAdapter(ordersSource, { autoBind: true }); orders = ordersDataAdapter.records; var nestedGrids = new Array(); // create nested grid. var initrowdetails = function (index, parentElement, gridElement, records) { var id = records.uid.toString(); var grid = $($(parentElement).children()[0]); nestedGrids[index] = grid; var filtergroup = new $.jqx.filter(); var filter_or_operator = 1; var filtervalue = id; var filtercondition = 'equal'; var filter = filtergroup.createfilter('stringfilter', filtervalue, filtercondition); // fill the orders depending on the id. var ordersbyid = []; for (var m = 0; m < orders.length; m++) { var result = filter.evaluate(orders[m]["RequestTypeId"]); if (result) ordersbyid.push(orders[m]); } var orderssource = { datafields: [ { name: 'RequestTypeId', type: 'integer' }, { name: 'RequestDetailName', type: 'string' }, { name: 'RequestDetailId', type: 'integer' } ], id: 'RequestDetailId', localdata: ordersbyid } var nestedGridAdapter = new $.jqx.dataAdapter(orderssource); if (grid != null) { grid.jqxGrid({ source: nestedGridAdapter, width: 780, height: 200, columns: [ { text: 'RequestDetailId', datafield: 'Request Detail Id', width: 200 }, { text: 'RequestDetailName', datafield: 'Request Detail Name', width: 200 }, ] }); } } //var photorenderer = function (row, column, value) { // var name = $('#jqxgrid').jqxGrid('getrowdata', row).FirstName; // var imgurl = '../../images/' + name.toLowerCase() + '.png'; // var img = '<div style="background: white;"><img style="margin:2px; margin-left: 10px;" width="32" height="32" src="' + imgurl + '"></div>'; // return img; //} var renderer = function (row, column, value) { return '<span style="margin-left: 4px; margin-top: 9px; float: left;">' + value + '</span>'; } // creage jqxgrid $("#jqxgrid").jqxGrid( { width: 850, height: 365, source: source, rowdetails: true, rowsheight: 35, initrowdetails: initrowdetails, rowdetailstemplate: { rowdetails: "<div id='grid' style='margin: 10px;'></div>", rowdetailsheight: 220}, ready: function () { $("#jqxgrid").jqxGrid('showrowdetails', 1); }, columns: [ { text: 'RequestTypeId', datafield: 'RequestTypeId', width: 150 }, { text: 'RequestTypeName', datafield: 'RequestTypeName', width: 150, cellsrenderer: renderer }, ] }); }); </script> </head> <body class='default'> <div id="jqxgrid"> </div> </body> </html>
November 13, 2014 at 5:24 am in reply to: how to get the data for the nested grid how to get the data for the nested grid #62637hello,
I am using this grid example but how do I use the “root” and “record” type I am confused. Please help me. I have edited this code in my project which is like this. Please look at it. I am getting the parent values but not getting the nested grid values. Please help me where am I wrong.`<!DOCTYPE html>
<html>
<head>
<meta name=”viewport” content=”width=device-width” />
<title>NestedGrid</title>
<link rel=”stylesheet” href=”~/Scripts/jqwidgets/styles/jqx.base.css” type=”text/css” />
<script type=”text/javascript” src=”~/Scripts/jquery-1.10.2.min.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxcore.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxdata.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxbuttons.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxscrollbar.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxmenu.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.selection.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.filter.js”></script>
<script type=”text/javascript” src=”~/Scripts/jqwidgets/jqxgrid.sort.js”></script>
<script type=”text/javascript”>
$(document).ready(function () {
var url = “/Merchant1/GetRequestTypeList”;var source =
{
datafields: [
{ name: ‘RequestTypeId’ },
{ name: ‘RequestTypeName’ },],
//root: “Employees”,
//record: “Employee”,
id: ‘RequestTypeId’,
datatype: “json”,
async: false,
url: url
};var employeesAdapter = new $.jqx.dataAdapter(source);
var orderdetailsurl = “/Merchant1/GetRequestDetailList”;
var ordersSource =
{
datafields: [
{ name: ‘RequestTypeId’, type: ‘integer’ },
{ name: ‘RequestDetailName’, type: ‘string’ },
{ name: ‘RequestDetailId’, type: ‘integer’ },
],
root: “Orders”,
record: “Order”,
datatype: “json”,
url: orderdetailsurl,
async: false
};var ordersDataAdapter = new $.jqx.dataAdapter(ordersSource, { autoBind: true });
orders = ordersDataAdapter.records;
var nestedGrids = new Array();// create nested grid.
var initrowdetails = function (index, parentElement, gridElement, record) {
var id = record.uid.toString();
var grid = $($(parentElement).children()[0]);
nestedGrids[index] = grid;
var filtergroup = new $.jqx.filter();
var filter_or_operator = 1;
var filtervalue = id;
var filtercondition = ‘equal’;
var filter = filtergroup.createfilter(‘stringfilter’, filtervalue, filtercondition);
// fill the orders depending on the id.
var ordersbyid = [];
for (var m = 0; m < orders.length; m++) {
var result = filter.evaluate(orders[m][“RequestTypeId”]);
if (result)
ordersbyid.push(orders[m]);
}var orderssource = { datafields: [
{ name: ‘RequestTypeId’, type: ‘integer’ },
{ name: ‘RequestDetailName’, type: ‘string’ },
{ name: ‘RequestDetailId’, type: ‘integer’ }],
id: ‘RequestTypeId’,
localdata: ordersbyid
}
var nestedGridAdapter = new $.jqx.dataAdapter(orderssource);if (grid != null) {
grid.jqxGrid({
source: nestedGridAdapter, width: 780, height: 200,
columns: [
{ text: ‘RequestDetailId’, datafield: ‘Request Detail Id’, width: 200 },
{ text: ‘RequestDetailName’, datafield: ‘Request Detail Name’, width: 200 },]
});
}
}var photorenderer = function (row, column, value) {
var name = $(‘#jqxgrid’).jqxGrid(‘getrowdata’, row).FirstName;
var imgurl = ‘../../images/’ + name.toLowerCase() + ‘.png’;
var img = ‘<div style=”background: white;”></div>’;
return img;
}var renderer = function (row, column, value) {
return ‘<span style=”margin-left: 4px; margin-top: 9px; float: left;”>’ + value + ‘</span>’;
}// creage jqxgrid
$(“#jqxgrid”).jqxGrid(
{
width: 850,
height: 365,
source: source,
rowdetails: true,
rowsheight: 35,
initrowdetails: initrowdetails,
rowdetailstemplate: { rowdetails: “<div id=’grid’ style=’margin: 10px;’></div>”, rowdetailsheight: 220},
ready: function () {
$(“#jqxgrid”).jqxGrid(‘showrowdetails’, 1);
},
columns: [
{ text: ‘RequestTypeId’, datafield: ‘RequestTypeId’, width: 150 },
{ text: ‘RequestTypeName’, datafield: ‘RequestTypeName’, width: 150, cellsrenderer: renderer },]
});
});
</script>
</head>
<body class=’default’>
<div id=”jqxgrid”>
</div>
</body>
</html>November 10, 2014 at 10:44 pm in reply to: Can TreeGrid display this nested JSON data? Can TreeGrid display this nested JSON data? #62492Hello Peter or anyone else there am I being able to explain my situation?
November 10, 2014 at 2:35 pm in reply to: Can TreeGrid display this nested JSON data? Can TreeGrid display this nested JSON data? #62476Hi Peter, Thanks for the quick reply. But my situation is different, I don’t get all data at a time and cannot render it at once.I have two separate json data as old json and new json. What I need to do is display two different data as old data and new data in separate columns in a single grid so that I can point out the differences between the data.How will I accomplish this.I need the grid to display like this.
old new
people people
nice people nice people
great people great people1
computer computer
PC laptopNovember 10, 2014 at 10:14 am in reply to: Can TreeGrid display this nested JSON data? Can TreeGrid display this nested JSON data? #62464Hello,
I have slightly different situation than this.I have two json data old one and new one separately but of similar nature only the varying the value which I need to display in two different columns. So my question is I have only one source object called local data. So how could I accomplish this getting two different data in different columns. My Json data is as follows:
OLD
{
“workers”: [
{
“catid”: 1,
“catname”: “People”,
“workers”: [
{
“wid”: 10,
“wname”: “NicePeople”
},
{
“wid”: 11,
“wname”: “GreatPeople”
}
]
},
{
“catid”: 2,
“catname”: “Computer”,
“workers”: [
{
“wid”: 12,
“wname”: “Pc”
}
]
}
]
}NEW
{
“workers”: [
{
“catid”: 1,
“catname”: “People”,
“workers”: [
{
“wid”: 10,
“wname”: “NicePeople”
},
{
“wid”: 11,
“wname”: “GreatPeople 1”
}
]
},
{
“catid”: 2,
“catname”: “Computer”,
“workers”: [
{
“wid”: 12,
“wname”: “Laptop”,
“denomination”:[100,200,300]
}
]
}
]
} -
AuthorPosts