jQWidgets jqxGrid initrowdetails Property
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.
HTML
<!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" > w3wiki </ 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”.
HTML
<!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" > w3wiki </ 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:
Reference: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-api.htm?search=