jQWidgets is a JavaScript framework for making web-based applications for PC and mobile devices. It is a very powerful, optimized, platform-independent, and widely supported framework. The jqxGrid is used to illustrate a jQuery widget that shows data in tabular form. Moreover, it renders full support for connecting with data, as well as paging, grouping, sorting, filtering, and editing.
The initrowdetails property is a callback function that is invoked whenever the utilizer expands the details of the row, & accordingly, the details are also returned & displayed. It is of function type and its default value is null.
Syntax:
- Set the initrowdetails property:
$('Selector').jqxGrid({ initrowdetails: null });
- Return the initrowdetails property:
var initrowdetails = $('Selector').jqxGrid('initrowdetails');
Linked Files: Download jQWidgets from the given link. In the HTML file, locate the script files in the downloaded folder.
<link rel=”stylesheet” href=”jqwidgets/styles/jqx.base.css” type=”text/css” />
<script type=”text/javascript” src=”scripts/jquery-1.11.1.min.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxcore.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqx-all.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>
Example 1: The below example illustrates the jqxGrid initrowdetails Property in jQWidgets.
<!DOCTYPE html> < html lang = "en" >
< head >
< link rel = "stylesheet"
href = "jqwidgets/styles/jqx.base.css" type = "text/css" />
< script type = "text/javascript" src = "scripts/jquery-1.11.1.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" src = "jqwidgets/jqxgrid.columnsresize.js" >
</ script >
</ head >
< body >
< center >
< h1 style = "color: green" >
GeeksforGeeks
</ h1 >
< h3 >
jQWidgets jqxGrid initrowdetails property
</ h3 > < br />
< div id = "jqxg" ></ div >
< div >
< input type = "button" id = "jqxBtn" style = "margin-top: 25px" value = "Click here" />
</ div >
< div id = "log" ></ div >
</ center >
< script type = "text/javascript" >
$(document).ready(function () {
var d = new Array();
var subjectNames =
["C++", "Scala", "Java", "C", "R", "JavaScript"];
var pageNumber =
["7", "8", "12", "11", "10", "19"];
for (var j = 0; j < 50 ; j++) {
var r = {};
r["subjectnames"] =
subjectNames[(Math.floor(
Math.random() * subjectNames.length))];
r["pagenumber"] =
pageNumber[(Math.floor(
Math.random() * pageNumber.length))];
d[j] = r;
}
var src = {
localdata: d,
datatype: "array",
};
var inrow_details = function (index, parent_element) {
var row_details = $($(parent_element).children(0));
row_details.text("Info for: " + index);
$("#log").text("Function invoked!")
};
var data_Adapter = new $.jqx.dataAdapter(src);
$("#jqxg").jqxGrid({
source: data_Adapter,
theme: 'energyblue',
rowdetails: true,
initrowdetails: inrow_details,
rowdetailstemplate: {
rowdetailsheight: 45,
},
height: "240px",
width: "240px",
columns: [
{
text: "Subject Name",
datafield: "subjectnames",
width: "120px",
},
{
text: "Page No.",
datafield: "pagenumber",
width: "120px",
},
],
});
$("#jqxBtn").jqxButton({
width: "180px",
height: "30px",
});
$("#jqxBtn").on("click", function () {
$('#jqxg').jqxGrid('showrowdetails', 1);
});
});
</script>
</ body >
</ html >
|
Output:
Example 2: The below example illustrates the jqxGrid initrowdetails property in jQWidgets by setting its value as “null”.
<!DOCTYPE html> < html lang = "en" >
< head >
< link rel = "stylesheet"
href = "jqwidgets/styles/jqx.base.css" type = "text/css" />
< script type = "text/javascript" src = "scripts/jquery-1.11.1.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" src = "jqwidgets/jqxgrid.columnsresize.js" >
</ script >
</ head >
< body >
< center >
< h1 style = "color: green" >
GeeksforGeeks
</ h1 >
< h3 >
jQWidgets jqxGrid initrowdetails property
</ h3 >< br />
< div id = "jqxg" ></ div >
< div >
< input type = "button" id = "jqxBtn" style = "margin-top: 25px" value = "Click here" />
</ div >
< div id = "log" ></ div >
</ center >
< script type = "text/javascript" >
$(document).ready(function () {
var d = new Array();
var subjectNames =
["C++", "Scala", "Java", "C", "R", "JavaScript"];
var pageNumber =
["7", "8", "12", "11", "10", "19"];
for (var j = 0; j < 50 ; j++) {
var r = {};
r["subjectnames"] =
subjectNames[(Math.floor(
Math.random() * subjectNames.length))];
r["pagenumber"] =
pageNumber[(Math.floor(
Math.random() * pageNumber.length))];
d[j] = r;
}
var src = {
localdata: d,
datatype: "array",
};
var data_Adapter = new $.jqx.dataAdapter(src);
$("#jqxg").jqxGrid({
source: data_Adapter,
theme: 'energyblue',
rowdetails: true,
initrowdetails: null,
rowdetailstemplate: {
rowdetailsheight: 45,
},
height: "240px",
width: "240px",
columns: [
{
text: "Subject Name",
datafield: "subjectnames",
width: "120px",
},
{
text: "Page No.",
datafield: "pagenumber",
width: "120px",
},
],
});
$("#jqxBtn").jqxButton({
width: "180px",
height: "30px",
});
$("#jqxBtn").on("click", function () {
$('#jqxg').jqxGrid('showrowdetails', 2);
var inrd =
$('#jqxg').jqxGrid('initrowdetails');
if (inrd === null) {
$('#log').text(inrd);
}
else {
$('#log').text("Not null!");
}
});
});
</script>
</ body >
</ html >
|
Output: