EasyUI jQuery treegrid Widget

EasyUI jQuery treegrid Widget是一个jQuery插件,用于在Web页面中显示层次结构的数据,它提供了类似于列表格的界面,同时支持树形展开和折叠。使用treegrid Widget可以轻松地显示一组层次结构的数据,并提供一种易于用户导航、搜索和排序数据的方式。下面详细讲解该插件的使用攻略。

安装

在使用EasyUI jQuery treegrid Widget之前,需要将EasyUI框架添加到页面中。可以从EasyUI官方网站(https://www.jeasyui.com/)下载EasyUI框架,或者使用CDN引入。如果使用CDN引入可以使用以下代码:

<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/easyui@1.9.22/themes/default/easyui.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/easyui@1.9.22/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/easyui@1.9.22/jquery.easyui.min.js"></script>

然后,通过以下代码引入treegrid插件:

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/easyui-treegrid/dist/jquery.treegrid.min.js"></script>

使用方法

基本用法

要使用EasyUI jQuery treegrid Widget,需要先在页面中使用HTML表格元素。表格元素可以在页面中静态定义,也可以通过AJAX从服务器动态获取。以下是一个简单的HTML表格示例:

<table id="mytree">
    <thead>
        <tr>
            <th field="name">Name</th>
            <th field="code">Code</th>
            <th field="price">Price</th>
        </tr>
    </thead>
    <tbody>
        <tr id="t1" data-tree-id="t1">
            <td>Parent 1</td>
            <td>001</td>
            <td>$20.00</td>
        </tr>
        <tr id="t2" data-tree-id="t2" data-tree-parent-id="t1">
            <td>Child 1-1</td>
            <td>002</td>
            <td>$10.00</td>
        </tr>
        <tr id="t3" data-tree-id="t3" data-tree-parent-id="t1">
            <td>Child 1-2</td>
            <td>003</td>
            <td>$10.00</td>
        </tr>
        <tr id="t4" data-tree-id="t4">
            <td>Parent 2</td>
            <td>004</td>
            <td>$30.00</td>
        </tr>
        <tr id="t5" data-tree-id="t5" data-tree-parent-id="t4">
            <td>Child 2-1</td>
            <td>005</td>
            <td>$10.00</td>
        </tr>
        <tr id="t6" data-tree-id="t6" data-tree-parent-id="t4">
            <td>Child 2-2</td>
            <td>006</td>
            <td>$20.00</td>
        </tr>
    </tbody>
</table>

这个表格有三个列,分别是Name、Code和Price。前两个行是父节点,后面的4个行是子节点。每一行都有一个唯一的ID和一个指向父节点的data-tree-parent-id属性。使用这些属性,可以创建一个层次结构而不是简单的一维表格。

接下来,在页面中添加以下代码创建treegrid组件:

$('#mytree').treegrid({
    idField:'id',
    treeField:'name',
});

在这个例子中,mytree是表格的ID。treegrid()函数将EasyUI jQuery treegrid Widget应用于这个表格。idField和treeField选项是必需的。idField指定每个行元素的唯一ID属性的名称,而treeField指定将作为“节点”呈现的列的字段。此外,还可以使用其他选项指定如何呈现数据、如何将数据加载到组件中,等等。

现在打开页面,可以看到treegrid已经在页面中生成。

持久化URL

EasyUI jQuery treegrid Widget支持从URL中加载数据。当用户向下滚动到一个新的部分时,treegrid自动从持久化URL加载数据。以下示例演示了如何从服务器加载数据:

$('#mytree').treegrid({
    url: 'server_data.php',
    idField:'id',
    treeField:'name',
});

在这个例子中,url选项指定从哪个URL加载数据。服务器返回的必须是JSON格式的数据,在返回数据中需要包含id属性和treeField属性指定的列。从服务器加载数据通常比在页面中静态定义数据更灵活,特别是在数据比较大的时候。如果数据来自于客户端本地,则可以使用loadData()方法手动加载数据。

更多示例

EasyUI官方网站(https://www.jeasyui.com/tutorial/treegrid/treegrid.html)提供了许多treegrid的示例和用法,这里提供两个示例来帮助理解treegrid的一些高级用法。

TreeGrid with Checkbox

以下示例演示了如何将某列设置为可以勾选。

<table id="tg" class="easyui-treegrid" style="width:600px;height:250px"
        data-options="url:'treegrid_data1.json',rownumbers:true,singleSelect:true,
            fitColumns:true,showFooter:true">
    <thead>
        <tr>
            <th data-options="field:'ck',checkbox:true"></th>
            <th data-options="field:'id',width:80">ID</th>
            <th data-options="field:'name',width:180">Task Name</th>
            <th data-options="field:'priority',width:80,align:'right'">Priority</th>
            <th data-options="field:'begin',width:120">Begin Date</th>
            <th data-options="field:'end',width:120">End Date</th>
        </tr>
    </thead>
</table>

Drag and Drop

以下示例演示如何启用拖放功能来编辑treegrid:

<table class="easyui-treegrid" id="tt" data-options="
    url:'treegrid_data2.json',
    idField:'id',
    treeField:'name',
    rownumbers:true,
    animate:true,
    collapsible:true,
    fitColumns:true,
    toolbar:'#tb',
    onBeforeDrag:function(row){
        return true;
    },
    onStartDrag:function(row){
        console.log('start drag');
    },
    onDrag:function(row){
        console.log('dragging');
    },
    onStopDrag:function(row){
        console.log('stop drag');
    },
    onBeforeDrop:function(targetRow, sourceRow, point){
        return true;
    },
    onDrop:function(targetRow, sourceRow, point){
        console.log(targetRow);
        console.log(sourceRow);
        console.log(point);
    }
">
    <thead>
        <tr>
            <th data-options="field:'name',width:'80'">Name</th>
            <th data-options="field:'status',width:'40',align:'center'">Status</th>
            <th data-options="field:'creator',width:'80'">Creator</th>
            <th data-options="field:'creat_time',width:'120',sortable:true,order:'desc'">Create Time</th>
            <th field="location_id" width="60" align="center" formatter="locationFormatter">Location</th>
        </tr>
    </thead>
</table>

在这个示例中,启用了拖放功能,以允许用户通过鼠标移动节点来编辑treegrid。在拖放过程中,调用了onBeforeDrag、onStartDrag、onDrag、onStopDrag、onBeforeDrop和onDrop函数来处理各种事件。可以通过这些事件来处理节点的拖放和重新排列。

以上就是EasyUI jQuery treegrid Widget的基本用法和两条示例说明的详细讲解。通过这样的了解和实践,也可以更好地发挥该插件的作用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:EasyUI jQuery treegrid Widget - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • JS在可编辑的div中的光标位置插入内容的方法

    当需要在可编辑的div中插入内容时,我们需要使用JS来设置光标位置。下面是JS在可编辑的div中的光标位置插入内容的完整攻略: 步骤1:获取可编辑div元素 const editableDiv = document.getElementById(‘editable’); 步骤2:监听可编辑div的键盘事件 当用户在可编辑的div中输入内容时,我们需要监听键盘…

    jquery 2023年5月18日
    00
  • JS实现间歇滚动的运动效果实例

    下面就针对“JS实现间歇滚动的运动效果实例”的完整攻略进行讲解。 什么是间歇滚动 在网页制作中,我们经常会使用JS来实现一些特效,其中就包括间歇滚动。间歇滚动指的是一种滚动效果,在此过程中页面会完成上下或左右的连续滚动。在实现间歇滚动之前,我们需要关注以下几个方面: 定义一个滚动区域:该区域可以是任意大小的区域,但需要使用CSS设置它的宽度和高度,同时设置o…

    jquery 2023年5月27日
    00
  • Jquery选择器 $实现原理

    Jquery选择器 $实现原理 什么是 Jquery 选择器 $? 在 Jquery 中,$ 符号是一个非常常用的符号,它主要用于选择 DOM 元素,它是 Jquery 中的选择器。通过 Jquery 选择器 $,我们可以非常简便地获取所需的 DOM 元素。 Jquery选择器 $ 实现原理 Jquery选择器 $ 的实现原理是基于 Sizzle 引擎。Si…

    jquery 2023年5月27日
    00
  • Underscore.js _.sortBy函数

    Underscore.js是JavaScript语言的一个实用库,提供了许多函数来简化编程操作,其中包括_.sortBy函数。下面是关于_.sortBy函数的完整攻略: 一、函数介绍 _.sortBy函数用于根据指定规则将集合中的元素进行排序,返回新的已排序的集合。 函数语法: _.sortBy(list, iteratee, [context]) 参数说明…

    jquery 2023年5月12日
    00
  • js组件SlotMachine实现图片切换效果制作抽奖系统

    下面我将为您详细讲解如何使用js组件SlotMachine实现图片切换效果制作抽奖系统。 什么是SlotMachine SlotMachine是一个基于jQuery实现的轮播图插件,可以用来制作老虎机抽奖、幸运转盘等效果。通过SlotMachine可以轻松实现图片自动轮播、手动拖动轮播、点击按钮轮播等不同的轮播效果。该组件使用方便,只需要一行JavaScri…

    jquery 2023年5月27日
    00
  • jQuery上传多张图片带进度条样式(DEMO)

    “jQuery上传多张图片带进度条样式(DEMO)”是一种基于jQuery的图片上传插件。它可以实现多张图片上传,并在上传过程中展示进度条样式。以下是使用该插件的完整攻略: 准备工作 在使用该插件之前需要先引入jQuery文件和插件文件。可以直接从官网下载插件文件,或者通过CDN加速,如下: <script src="https://cdn.…

    jquery 2023年5月27日
    00
  • 如何在jQuery中为一个HTML元素添加属性

    在jQuery中为一个HTML元素添加属性可以使用attr()方法。以下是如何在jQuery中为一个HTML元素添加属性的完整攻略: 步骤一:选择HTML元素 首先,需要选择要添加属性的HTML元素。可以使用jQuery选择器来选择元素。以下是一个示例: // Select an HTML element using jQuery var element =…

    jquery 2023年5月9日
    00
  • jQWidgets jqxComplexInput placeHolder属性

    以下是关于“jQWidgets jqxComplexInput placeHolder属性”的完整攻略,包含两个示例说明: 简介 jqxComplexInput 控件提供了 placeHolder 属性,该属性用于在控件中显示占位符文本。通过 placeHolder 属性可以在控件中显示一些提示性的文本,帮助用户更好地理解控件的用途。 详细攻略 以下是 jq…

    jquery 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部