jQWidgets Forums
Forum Replies Created
-
Author
-
Thanks alot for the help 🙂
Thanks for your help ,it works but only dispalys the root level in the grid ,what should i do to display the sub grid.
I will read the guide ASAP .Thanks again,
Here is my code :
<!DOCTYPE html>
<html lang=”en”>
<head><link rel=”stylesheet” href=”../../jqwidgets/styles/jqx.base.css” type=”text/css” />
<link rel=”stylesheet” href=”../../jqwidgets/styles/jqx.darkblue.css” type=”text/css” />
<!–<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js”></script> –>
<script type=”text/javascript” src=”../../scripts/jquery-1.7.2.min.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxcore.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxdata.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxbuttons.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxscrollbar.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxmenu.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxgrid.js”></script>
<script type=”text/javascript” src=”../../jqwidgets/jqxgrid.selection.js”></script><script type=”text/javascript”>
// prepare the data
var data = new Array();
var firstNames =
[
“Andrew”, “Nancy”, “Shelley”, “Regina”, “Yoshi”, “Antoni”, “Mayumi”, “Ian”, “Peter”, “Lars”, “Petra”, “Martin”, “Sven”, “Elio”, “Beate”, “Cheryl”, “Michael”, “Guylene”
];
var lastNames =
[
“Fuller”, “Davolio”, “Burke”, “Murphy”, “Nagase”, “Saavedra”, “Ohno”, “Devling”, “Wilson”, “Peterson”, “Winkler”, “Bein”, “Petersen”, “Rossi”, “Vileid”, “Saylor”, “Bjorn”, “Nodier”
];
var productNames =
[
“Black Tea”, “Green Tea”, “Caffe Espresso”, “Doubleshot Espresso”, “Caffe Latte”, “White Chocolate Mocha”, “Cramel Latte”, “Caffe Americano”, “Cappuccino”, “Espresso Truffle”, “Espresso con Panna”, “Peppermint Mocha Twist”
];
var priceValues =
[
“2.25”, “1.5”, “3.0”, “3.3”, “4.5”, “3.6”, “3.8”, “2.5”, “5.0”, “1.75”, “3.25”, “4.0”
];
for (var i = 0; i < 10; i++) {
var row = {};
var productindex = Math.floor(Math.random() * productNames.length);
var price = parseFloat(priceValues[productindex]);
var quantity = 1 + Math.round(Math.random() * 10);
row[“firstname”] = firstNames[Math.floor(Math.random() * firstNames.length)];
row[“lastname”] = lastNames[Math.floor(Math.random() * lastNames.length)];
row[“productname”] = productNames[productindex];
row[“price”] = price;
row[“quantity”] = quantity;
row[“total”] = price * quantity;
data[i] = row;
}
var source =
{
localdata: data,
datatype: “array”
};// set rows details.
$(“#jqxgrid”).bind(‘bindingcomplete’, function (event) {
if (event.target.id == “jqxgrid”) {
$(“#jqxgrid”).jqxGrid(‘beginupdate’);
var datainformation = $(“#jqxgrid”).jqxGrid(‘getdatainformation’);
for (i = 0; i < datainformation.rowscount; i++) {
var hidden = i > 0 ? true : false;
$(“#jqxgrid”).jqxGrid(‘setrowdetails’, i, “<div id=’grid” + i + “‘ style=’margin: 10px;’></div>”, 220, hidden);
}
$(“#jqxgrid”).jqxGrid(‘endupdate’);
}
});
var dataAdapter = new $.jqx.dataAdapter(source);
var theme=”darkblue”
// creage jqxgrid
$(“#jqxgrid”).jqxGrid(
{
width: 670,
height: 365,
source: dataAdapter,
theme: theme,
rowdetails: true,
initrowdetails: initlevel2,
columns: [
{ text: ‘First Name’, dataField: ‘firstname’, width: 100 },
{ text: ‘Last Name’, dataField: ‘lastname’, width: 100 },
{ text: ‘Product’, dataField: ‘productname’, width: 180 },
{ text: ‘Quantity’, dataField: ‘quantity’, width: 80, cellsalign: ‘right’ },
{ text: ‘Unit Price’, dataField: ‘price’, width: 90, cellsalign: ‘right’, cellsformat: ‘c2’ },
{ text: ‘Total’, dataField: ‘total’, cellsalign: ‘right’, minwidth: 100, cellsformat: ‘c2’ }
]
});var initlevel2 = function (index) {
var grid = $($.find(‘#grid’ + index));
grid.bind(‘bindingcomplete’, function (event) {
if (event.target.id == “grid” + index) {
grid.jqxGrid(‘beginupdate’);
var datainformation = grid.jqxGrid(‘getdatainformation’);
for (var i = 0; i < datainformation.rowscount; i++) {
var hidden = true;
grid.jqxGrid(‘setrowdetails’, i, “<div id=’subgrid” + i + “‘ style=’margin: 10px;’></div>”, 220, hidden);
}
grid.jqxGrid(‘endupdate’);
}
});
if (grid != null) {
var dataAdapter = new $.jqx.dataAdapter(source);
grid.jqxGrid({ rowdetails: true, initrowdetails: initlevel3, source: dataAdapter, theme: theme, width: 600, height: 200,
columns: [
{ text: ‘First Name’, dataField: ‘firstname’, width: 100 },
{ text: ‘Last Name’, dataField: ‘lastname’, width: 100 },
{ text: ‘Product’, dataField: ‘productname’, width: 180 },
{ text: ‘Quantity’, dataField: ‘quantity’, cellsalign: ‘right’ }
]
});
}
}var initlevel3 = function (index) {
var grid = $($.find(‘#subgrid’ + index));
var dataAdapter = new $.jqx.dataAdapter(source);
if (grid != null) {
grid.jqxGrid({ source: dataAdapter, theme: theme, width: 530, height: 200,
columns: [
{ text: ‘First Name’, dataField: ‘firstname’, width: 100 },
{ text: ‘Last Name’, dataField: ‘lastname’, width: 100 },
{ text: ‘Product’, dataField: ‘productname’, width: 180 },
{ text: ‘Quantity’, dataField: ‘quantity’, cellsalign: ‘right’ }
]
});
}
}</script>
</head>
<body class=’default’>
<div id=”jqxgrid”>
</div>
</body>
</html>Hii
Thanks for your response ,after solving “theme” issue i got this “Error: Invalid Selector – #jqxgrid! Please, check whether the used ID or CSS Class name is correct.” ,is this happin because i’m using a different version of jQwidgets ??
Best Regards,
-
AuthorPosts