Propiedad de filtro jQWidgets jqxGrid

jQWidgets es un marco de JavaScript para crear aplicaciones basadas en web para PC y dispositivos móviles. Es un marco muy potente, optimizado, independiente de la plataforma y ampliamente compatible. El jqxGrid se usa para ilustrar un widget jQuery que muestra datos en forma tabular. Además, brinda soporte completo para conectarse con datos, así como para paginar, agrupar, clasificar, filtrar y editar.

La propiedad de filtro es una función de devolución de llamada que se utiliza para personalizar el filtrado. Se utiliza para anular el filtrado incorporado. Esta propiedad se invoca cada vez que se filtra la cuadrícula. Representa un valor de tipo booleano o devuelve «indefinido». Es de tipo función y su valor por defecto es “null”.

Sintaxis:

  • Establezca la propiedad de filtro :
$('Selector').jqxGrid({ filter: null });
  • Devuelve la propiedad del filtro :
var filter = $('Selector').jqxGrid('filter');

Los valores que puede contener esta función son los siguientes.

  • cellValue: Es el valor actual de la celda.
  • rowData: es un objeto JSON que contiene los datos de la fila actual.
  • dataField: Es el campo de datos de la columna de filtro.
  • filterGroup: Es el conjunto de los filtros indicados.
  • defaultFilterResult: Es el resultado predeterminado declarado del filtro.

Archivos vinculados: descargue jQWidgets desde el enlace dado. En el archivo HTML, busque los archivos de script en la carpeta descargada.

<link rel=”hoja de estilo” 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>
<tipo de secuencia de comandos = «texto/javascript» src = «jqwidgets/jqxgrid.selection.js»></secuencia de comandos>

Ejemplo 1: El siguiente ejemplo ilustra la propiedad de filtro jqxGrid en 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 filter property
        </h3><br />
        <div id="jqxg"></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',
                filterable: true,
                filter: function () {
                    $("#log").text("Filtered!")
                },
                height: "240px",
                width: "270px",
                columns: [
                    {
                        text: "Subject Name",
                        columntype: "textbox",
                        filtertype: "input",
                        datafield: "subjectnames",
                        width: "90px",
                    },
                    {
                        text: "Page No.",
                        datafield: "pagenumber",
                        filtertype: "checkedlist",
                        width: "90px",
                    },
                    {
                        text: "Exam",
                        datafield: "exam",
                        columntype: "checkbox",
                        filtertype: "bool",
                        width: "90px",
                    },
                ],
            });
        });
    </script>
</body>
</html>

Producción:

 

Ejemplo 2: a continuación se muestra otro ejemplo que ilustra la propiedad de filtro jqxGrid en jQWidgets estableciendo su valor como «nulo».

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 filter 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',
                filterable: true,
                filter: null,
                height: "240px",
                width: "270px",
                columns: [
                    {
                        text: "Subject Name",
                        columntype: "textbox",
                        filtertype: "input",
                        datafield: "subjectnames",
                        width: "90px",
                    },
                    {
                        text: "Page No.",
                        datafield: "pagenumber",
                        filtertype: "checkedlist",
                        width: "90px",
                    },
                    {
                        text: "Exam",
                        datafield: "exam",
                        columntype: "checkbox",
                        filtertype: "bool",
                        width: "90px",
                    },
                ],
            });
  
            $("#jqxBtn").jqxButton({
                width: "180px",
                height: "30px",
            });
            $("#jqxBtn").on("click", function () {
                var f = $('#jqxg').jqxGrid('filter');
                $("#log").text(f)
            });
        });
    </script>
</body>
</html>

Producción:

 

Referencia: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-api.htm?search=

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *