Свойство jQWidgets jqxGrid initrowdetails

Опубликовано: 15 Сентября, 2022

jQWidgets — это JavaScript-фреймворк для создания веб-приложений для ПК и мобильных устройств. Это очень мощная, оптимизированная, независимая от платформы и широко поддерживаемая платформа. jqxGrid используется для иллюстрации виджета jQuery, который отображает данные в табличной форме. Кроме того, он обеспечивает полную поддержку связи с данными, а также разбиение по страницам, группировку, сортировку, фильтрацию и редактирование.

Свойство initrowdetails — это функция обратного вызова, которая вызывается всякий раз, когда пользователь расширяет сведения о строке, и, соответственно, сведения также возвращаются и отображаются. Это функциональный тип, и его значение по умолчанию равно null.

Синтаксис:

  • Установите свойство initrowdetails :
$("Selector").jqxGrid({ initrowdetails: null });
  • Верните свойство initrowdetails :
var initrowdetails = $("Selector").jqxGrid("initrowdetails");

Связанные файлы: Загрузите jQWidgets по данной ссылке. В файле HTML найдите файлы сценариев в загруженной папке.

<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>

Пример 1. Пример ниже иллюстрирует свойство jqxGrid initrowdetails. в 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">
            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>

Выход:

Пример 2. В приведенном ниже примере показано свойство jqxGrid initrowdetails в jQWidgets, для которого установлено значение «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">
            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>

Выход:

Ссылка: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-api.htm?search=