iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Easyui如何实现datagrid多行删除
  • 275
分享到

Easyui如何实现datagrid多行删除

2024-04-02 19:04:59 275人浏览 八月长安
摘要

小编给大家分享一下Easyui如何实现datagrid多行删除,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何实现datagrid多行删除?最近在前端界面开发中,使用了datagrid组

小编给大家分享一下Easyui如何实现datagrid多行删除,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

如何实现datagrid多行删除?

最近在前端界面开发中,使用了datagrid组件。需要完成一个多行勾选并删除的功能。

查看easyui api,其中有一个deleteRow方法,传入要删除行的索引,即可删除该行。

错误做法

于是准备用deleteRow方法和onChecked和onUncheck事件配合使用,来完成多行删除功能。

当用户勾选一行时,触发onChecked事件,将onChecked事件传进来的index索引push到一个全局array中。

当用户取消勾选的时候,触发onUncheck事件,得到onUncheck时间传进来的index索引,用splice方法把array中的该索引值去掉。

这样就能用一个array数组动态记录用户勾选行的索引数组。

然后遍历这个array一行一行deleteRow不就可以了么。

然而实际情况并不是这样,当deleteRow的时候,该行后面的索引值全部向前挪一位。比如,一共有10行(第一行索引为0),我删除了第5行,后面6~9行的索引变成了5~8。这样对于之前记录在array中的索引值就不准确了,会导索引错乱,不能删掉想要删的行。

正确做法:deleteRow,getChecked和getRowIndex配合使用

如果能够将array中记录的index值从小到大排序,然后依次从后向前删除,就能解决行号错乱的问题了。(从后向前删,不会影响到前面行号的索引)。

根据这个思路,其实不用将array排序,利用datagird提供的方法,即可实现这个功能。

这里就不需要onChecked和onUncheck事件了。

用户在点击删除按钮时,首先通过getChecked拿到用户勾选的行的数据数组。

var deletedData = $('#dg').datagrid('getChecked');

然后通过for循环,从最后一行开始向前遍历,每次遍历,用getRowIndex方法得到该行的索引,然后用deleteRow删除该行即可!

for (var i = deletedData.length - 1; i >= 0; i--) {
  var rowIndex = $('#dg').datagrid('getRowIndex', deletedData[i]);
  $('#dg').datagrid('deleteRow', rowIndex);
}

效果展示

Easyui如何实现datagrid多行删除 

Easyui如何实现datagrid多行删除

html代码:

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="easyui_1.5/Jquery.min.js"></script>
  <link rel="stylesheet" href="easyui_1.5/themes/icon.CSS">
  <link rel="stylesheet" href="easyui_1.5/themes/bootstrap/easyui.css">

  <script type="text/javascript" src="easyui_1.5/jquery.easyui.min.js"></script>
  <script type="text/javascript" src="easyui_1.5/locale/easyui-lang-zh_CN.js"></script>

  <script type="text/javascript" src="js/deleteRows.js"></script>
</head>
<body>
<div>
  <table id="dg" toolbar="#tb"></table>
  <div id="tb">
    <a id="delete" class="easyui-linkbutton" iconCls="icon-cancel" plain="true" onclick="deleteRows()">删除</a>
  </div>
</div>
</body>
</html>

js代码:

var dataStr = '{"total": 7, "rows": [{"test": 1}, {"test": 2}, {"test": 3}, {"test": 4}, {"test": 5}, {"test": 6}, {"test":7}]}';
var data = $.parseJSON(dataStr);

$(function () {
  $('#dg').datagrid({
    width: 'auto',
    height: 'auto',
    title: 'datagrid多行删除测试',
    fitColumns: true,
    rownumbers: true,
    columns: [[
      {
        field: 'checkbox',
        checkbox: true,
      },
      {
        field: 'test',
        title: 'test',
        width: '100px',
      }
    ]],
  });

  $('#dg').datagrid('loadData', data);

});

function deleteRows() {
  var deletedData = $('#dg').datagrid('getChecked');
  for (var i = deletedData.length - 1; i >= 0; i--) {
    var rowIndex = $('#dg').datagrid('getRowIndex', deletedData[i]);
    $('#dg').datagrid('deleteRow', rowIndex);
  }
}

看完了这篇文章,相信你对“Easyui如何实现datagrid多行删除”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网node.js频道,感谢各位的阅读!

--结束END--

本文标题: Easyui如何实现datagrid多行删除

本文链接: https://www.lsjlt.com/news/70943.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Easyui如何实现datagrid多行删除
    小编给大家分享一下Easyui如何实现datagrid多行删除,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何实现datagrid多行删除?最近在前端界面开发中,使用了datagrid组...
    99+
    2024-04-02
  • Easyui Datagrid如何实现自定义按钮列
    这篇文章主要介绍Easyui Datagrid如何实现自定义按钮列,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!做项目的时候因为需求,要在表格的最后添加一列操作列,easyUI貌似没...
    99+
    2024-04-02
  • linux如何删除多行
    这篇“linux如何删除多行”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux如何删除多行”文章吧。linux删除多行...
    99+
    2023-06-29
  • EasyUI如何实现数据表格datagrid列自适应内容宽度
    这篇文章将为大家详细讲解有关EasyUI如何实现数据表格datagrid列自适应内容宽度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目初期在加载数据表格的时候为了提高...
    99+
    2024-04-02
  • 如何实现MySQL中删除多行数据的语句?
    如何实现MySQL中删除多行数据的语句?在MySQL中,删除多行数据是非常常见的数据库操作之一。当我们需要删除数据库表中的多行数据时,可以使用DELETE语句来实现。DELETE语句可以根据指定的条件删除符合条件的多行数据。下面将通...
    99+
    2023-11-08
    数据库 多行数据 删除语句
  • php如何实现点击删除一行
    今天小编给大家分享一下php如何实现点击删除一行的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,我们需要在数据库中创建一...
    99+
    2023-07-06
  • EasyUI如何实现下拉框多选功能
    这篇文章给大家分享的是有关EasyUI如何实现下拉框多选功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:这个没什么说的,直接引入css和js文件和图片,调用js即可。下...
    99+
    2024-04-02
  • 批处理如何实现删除重复行
    这篇文章给大家分享的是有关批处理如何实现删除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off :: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则、变量个数超过限制的文本...
    99+
    2023-06-09
  • Vue实现单行删除与批量删除
    目录单行删除与批量删除一、单行删除二、批量删除简单的批量删除,全选删除单行删除与批量删除 一、单行删除 <el-table-column align="center" fix...
    99+
    2024-04-02
  • 如何使用Mybatis如何实现删除多个数据
    这篇文章将为大家详细讲解有关如何使用Mybatis如何实现删除多个数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mybatis删除多个数据例如:删除数据库中sid=1和sid=2的数据操作步骤如下1....
    99+
    2023-06-29
  • Python列表中多元素删除如何实现
    本篇内容介绍了“Python列表中多元素删除如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题背景a=[1,4,2,1,5,6,9,...
    99+
    2023-07-05
  • C#中Datagridview选中多行数据删除实现
    您可以使用以下代码来实现C#中DataGridView选中多行数据删除的功能:```csharpprivate void btnDe...
    99+
    2023-09-26
    C#
  • 使用Mybatis如何实现删除多个数据
    目录Mybatis删除多个数据删除数据库中sid=1和sid=2的数据操作步骤如下Mybatis批量删除多表数据业务需求查询以obj_前缀开头的表的截断语句Mybatis删除多个数据...
    99+
    2024-04-02
  • 我们如何从 MySQL 表中删除多行?
    我们可以使用 DELETE 语句和 WHERE 子句(该子句标识这些多行)来从 MySQL 表中删除多行。示例mysql> Select * from names; +------+-----------+ | id ...
    99+
    2023-10-22
  • golang map 删除如何实现
    Golang是一种快速、高效、跨平台的编程语言,作为目前较为流行的编程语言之一,它拥有丰富的特性和各种高级数据结构,比如map。Map是Golang中非常常用的内置数据结构,它可以轻松的在程序中存储键值对类型的数据。Map提供了便捷的操作方...
    99+
    2023-05-14
    Golang
  • Vue如何实现多图添加显示和删除
    这篇文章给大家分享的是有关Vue如何实现多图添加显示和删除的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。效果图:首先给一个input[type="file"],然后隐藏掉,当点击加号所在的区域...
    99+
    2023-06-15
  • 命令行如何删除Oracle实例
    这篇文章主要介绍了命令行如何删除Oracle实例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 本文的所有操作...
    99+
    2024-04-02
  • C#如何实现DataGrid列格式
    这篇文章主要为大家展示了“C#如何实现DataGrid列格式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何实现DataGrid列格式”这篇文章吧。写winForm的程序,难免要用Data...
    99+
    2023-06-18
  • shell如何删除空行
    这篇文章给大家分享的是有关shell如何删除空行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。删除空行cat a.txt | sed -e...
    99+
    2024-04-02
  • MySQL中如何删除行
    这篇文章主要介绍了MySQL中如何删除行的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中如何删除行文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-05-25
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作