📜  jQWidgets jqxTreeGrid refresh() 方法(1)

📅  最后修改于: 2023-12-03 14:43:28.098000             🧑  作者: Mango

jQWidgets jqxTreeGrid refresh() 方法

jQWidgets是一款基于jQuery的UI组件库,其中包括了jqxTreeGrid。jqxTreeGrid是一款支持树形结构的表格控件,可以让用户方便地展示层级数据,同时支持多种交互和自定义的功能。其中,refresh()方法是jqxTreeGrid控件中的一个重要方法,它可以让表格数据重新加载以反映最新状态。

refresh()方法的使用

refresh()方法是jqxTreeGrid控件的一个实例方法,可以通过实例对象来调用。它的语法格式如下:

$("#treeGrid").jqxTreeGrid('refresh');

其中,#treeGrid是一个对jqxTreeGrid控件的jQuery选择器,可以是一个DOM元素或者jQuery对象。调用refresh()方法之后,jqxTreeGrid控件会接收一个新的数据源并重新渲染表格。

refresh()方法的效果

refresh()方法主要用于重新加载jqxTreeGrid控件的数据源并更新表格的显示。例如,当开发者在客户端代码中修改了数据源后,可以通过调用refresh()方法重新渲染表格,以确保表格内容与最新的数据源状态保持一致。

refresh()方法的参数

refresh()方法不接受任何参数,只需要通过jqxTreeGrid控件的实例对象来调用即可。

refresh()方法的返回值

refresh()方法不返回任何值,它只是重新加载了jqxTreeGrid控件的数据源并更新了表格的显示。

示例

下面是一个使用refresh()方法的示例代码,其中用于演示如何动态切换jqxTreeGrid的数据源:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jqxTreeGrid refresh()方法的示例</title>
    <script type="text/javascript" src="./jquery-3.6.0.min.js"></script>
    <script type="text/javascript" src="./jqwidgets/jqx-all.js"></script>
    <link rel="stylesheet" href="./jqwidgets/styles/jqx.base.css">
    <style type="text/css">
        #treeGrid {
            margin: 10px;
        }
    </style>
</head>
<body>
    <div id="treeGrid"></div>
    <button onclick="changeData()">切换数据源</button>
    <script type="text/javascript">
        $(document).ready(function () {
            // 初始化jqxTreeGrid控件
            var source = {
                dataType: "json",
                dataFields: [
                    { name: "id", type: "number" },
                    { name: "parentId", type: "number" },
                    { name: "name", type: "string" },
                ],
                hierarchy: {
                    keyDataField: { name: "id" },
                    parentDataField: { name: "parentId" }
                },
                id: "id",
                url: "./data.json"
            };
            var dataAdapter = new $.jqx.dataAdapter(source);
            $("#treeGrid").jqxTreeGrid({
                source: dataAdapter,
                columns: [
                    { text: "ID", dataField: "id" },
                    { text: "父ID", dataField: "parentId" },
                    { text: "名称", dataField: "name" },
                ]
            });
        });

        function changeData() {
            // 动态切换表格数据源,并重新渲染表格
            var source = {
                dataType: "json",
                dataFields: [
                    { name: "id", type: "number" },
                    { name: "parentId", type: "number" },
                    { name: "name", type: "string" },
                ],
                hierarchy: {
                    keyDataField: { name: "id" },
                    parentDataField: { name: "parentId" }
                },
                id: "id",
                url: "./newData.json"
            };
            var dataAdapter = new $.jqx.dataAdapter(source);
            $("#treeGrid").jqxTreeGrid({ source: dataAdapter });
            // 刷新表格以反映最新的数据源状态
            $("#treeGrid").jqxTreeGrid('refresh');
        }
    </script>
</body>
</html>

在这个示例中,我们首先通过一个JSON数据源初始化了一个jqxTreeGrid控件,并在页面上渲染出来。接着,我们定义了一个changeData()方法,用于动态切换数据源。当用户点击页面上的“切换数据源”按钮时,该方法会从服务器动态加载一个新的数据源,并通过调用refresh()方法来更新jqxTreeGrid控件的显示。最终,用户可以在页面上看到新的数据源中的数据。