Open In App

jQWidgets jqxDataTable showDetails() Method

Improve
Improve
Like Article
Like
Save
Share
Report

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 jqxDataTable is used to read and display the HTML Table data. This is also used to display data from various data sources like XML, JSON, Array, CSV, or TSV.

The showDetails() method is used to show the details of a row from the displayed jqxDataTable. It does not return any value.

Syntax:

$("#Selector").jqxDataTable('showDetails', rowIndex);

Parameters:

  • rowIndex: It is the stated row index which is of type number.

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.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/jqxlistbox.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxdropdownlist.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxdatatable.js”></script>

Example 1: The below example illustrates the jqxDataTable showDetails() method 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/jqxlistbox.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqxdropdownlist.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqxdatatable.js">
    </script>
</head>
  
<body>
    <center>
        <h1 style="color: green">
            GeeksforGeeks
        </h1>
  
        <h3>jQWidgets jqxDataTable
            showDetails() Method
        </h3>
  
        <div id="jqxdt"></div>
        <br>
        <input type="button" style="margin:29px;" 
            id="jqxbtn" value="Click here" />
        <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 < 6; 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 ird = function (i, drow, e, rowinfo) {
                var td = null;
                var info = null;
                var note = null;
                rowinfo.detailsHeight = 100;
                e.append($(
                    "<div style='margin: 9px;'>" +
                    "<ul style='margin-left: 29px;'>" +
                    "<li class='title'>T</li><li>Marks</li></ul>"
                    + "<div class='information'></div>" + 
                    "<div class='note'></div></div>"));
                td = $(e.children()[0]);
                if (td != null) {
                    info = td.find('.information');
                    note = td.find('.pagenumber');
                    var t = td.find('.title');
                    t.text(drow.subjectnames);
                    var c = $('<div style="margin: 6px;"></div>');
                    c.appendTo($(info));
                    var lc = $(
                '<div style="float: left; width: 41%;"></div>');
                    var rc = $(
                '<div style="float: left; width: 42%;"></div>');
                    c.append(lc);
                    c.append(rc);
                    var subjectnames = 
                    "<div style='margin: 10px;'><b>Subject:</b> "
                        + drow.subjectnames + "</div>";
                    $(lc).append(subjectnames);
                    var nc = $(
            '<div style="white-space: normal; margin: 6px;"><span>'
                        + drow.pagenumber + '</span></div>');
                    $(note).append(nc);
  
                    $(td).jqxTabs({
                        theme: 'energyblue',
                        width: 500,
                        height: 160
                    });
                }
            }
            var data_Adapter = new $.jqx.dataAdapter(src);
            $("#jqxdt").jqxDataTable({
                source: data_Adapter,
                height: 170,
                rowDetails: true,
                initRowDetails: ird,
                columns: [
                    {
                        text: "Subject Name",
                        datafield: "subjectnames",
                        width: "120px",
                    },
                    {
                        text: "Page No.",
                        datafield: "pagenumber",
                        width: "120px",
                    },
                ],
            });
            $("#jqxbtn").jqxButton({
                width: 280
            });
            $("#jqxbtn").on("click", function () {
                $('#jqxdt').jqxDataTable('showDetails', 0);
                $('#log').text("Details shown!");
            });
        });
    </script>
</body>
  
</html>


Output:

 

Example 2: The following is another example of the jqxDataTable showDetails() method 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.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/jqxlistbox.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqxdropdownlist.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqxdatatable.js">
    </script>
</head>
  
<body>
    <center>
        <h1 style="color: green">
            GeeksforGeeks
        </h1>
  
        <h3>jQWidgets jqxDataTable
            showDetails() Method
        </h3>
  
        <div id="jqxdt"></div>
        <br>
        <input type="button" style="margin:29px;" 
               id="jqxbtn" value="Click here" />
        <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 < 6; 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 ird = function (i, drow, e, rowinfo) {
                var td = null;
                var info = null;
                var note = null;
                rowinfo.detailsHeight = 100;
                e.append($(
                    "<div style='margin: 9px;'>" +
                    "<ul style='margin-left: 29px;'>" + 
                    "<li class='title'>T</li><li>Marks</li>" + 
                    "</ul><div class='information'></div>" +
                    "<div class='note'></div></div>"));
                td = $(e.children()[0]);
                if (td != null) {
                    info = td.find('.information');
                    note = td.find('.pagenumber');
                    var t = td.find('.title');
                    t.text(drow.subjectnames);
                    var c = $('<div style="margin: 6px;"></div>');
                    c.appendTo($(info));
                    var lc = $(
                '<div style="float: left; width: 41%;"></div>');
                    var rc = $(
                '<div style="float: left; width: 42%;"></div>');
                    c.append(lc);
                    c.append(rc);
                    var subjectnames = 
                    "<div style='margin: 10px;'><b>Subject:</b> "
                        + drow.subjectnames + "</div>";
                    $(lc).append(subjectnames);
                    var nc = $(
        '<div style="white-space: normal; margin: 6px;"><span>'
                        + drow.pagenumber + '</span></div>');
                    $(note).append(nc);
  
                    $(td).jqxTabs({
                        theme: 'energyblue',
                        width: 500,
                        height: 160
                    });
                }
            }
            var data_Adapter = new $.jqx.dataAdapter(src);
            $("#jqxdt").jqxDataTable({
                source: data_Adapter,
                height: 170,
                rowDetails: true,
                initRowDetails: ird,
                columns: [
                    {
                        text: "Subject Name",
                        datafield: "subjectnames",
                        width: "120px",
                    },
                    {
                        text: "Page No.",
                        datafield: "pagenumber",
                        width: "120px",
                    },
                ],
            });
            $("#jqxbtn").jqxButton({
                width: 280
            });
            $("#jqxbtn").on("click", function () {
                var sd = $('#jqxdt')
                    .jqxDataTable('showDetails', 0);
                if (sd === null) {
                    $('#log').text("Null!");
                }
                else {
                    $('#log').text("Function invoked!");
                }
            });
        });
    </script>
</body>
</html>


Output:

 

Reference: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdatatable/jquery-datatable-api.htm



Last Updated : 29 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads