代码篇——EasyUI中DataGrid选中多行提交和删除

2024-08-26 22:48

本文主要是介绍代码篇——EasyUI中DataGrid选中多行提交和删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


     基础代码进行整理,让我们的效率更快的提高。

需求:

     俩个表格,第一个表格为班级,里面有具体的一班二班,另一个表是该班级的学生。实现的功能是:选中第一个表的班级,从数据库中查询该班级的学生,显示在另外的一个表格中。点击移除,就可以将选中学生从考生信息列表中移除。也就是多行数据在俩个datagrid中进行传递。



     对一个表格进行单行选中的代码:

<span style="font-family:FangSong_GB2312;font-size:18px;"><span style="font-size:18px;"><span style="font-size:24px;">var rowInfo = $("#id").datagrid('getSelected');
if(rowInfo){alert("已经选中的行");
}</span></span></span>

    对一个表格进行多行选中的代码:

<span style="font-family:FangSong_GB2312;font-size:18px;"><span style="font-size:18px;"><span style="font-size:24px;">var ids = [];
var rows = $('#tt').datagrid('getSelections');
for(var i=0; i<rows.length; i++){ids.push(rows[i].itemid);
}
alert(ids.join('
'));</span></span></span>



 遇到问题:


     看着这些代码,是不是觉得很简单啊,但是在具体的多行传值得过程中,出现了仅仅可以传一行的值得现象,我们的表格在没有用分页的情况下,可以实现多行选中并把值弹出来,但是在分页的情况下,仅仅可以显示一行的值。为什么?

     以下的代码是我考试班绑定的表格代码:


<span style="font-family:FangSong_GB2312;font-size:18px;"><span style="font-size:18px;">   <table id="Chapter1" title="考试班" class="easyui-datagrid" style="width: 600px; height: 300px;" idfield="itemid" pagination="true" data-options="iconCls:'icon-save',rownumbers:true,url:'/AddStudent/QueryClassByCourseID',pageSize:5, pageList:[10,20,30,40],method:'get',toolbar:'#tb',striped:true" fitcolumns="true"><thead><tr><th data-options="field:'ck',checkbox:true"></th><th data-options="field:'StudentNo',width:80">班号</th><th data-options="field:'StudentName',width:100">班级名称</th></tr></thead></table></span></span>



    其中有一个idfield="itemid",这句话是什么意思呢?

    这句话就标示了主键,也就是相当于标示了一个ID值(唯一的),所以在后面的传值过程中仅仅传一行的值。


代码:


   多行选中传值,定义一个数组,让该数组进行传值,然后在后台的时候对该数组进行分割,实现该功能的JS代码:


   function AddExamInformation() {var ids = [];var rows = $('#ExamClass').datagrid('getSelections');var strStudentNos = "";for (var i = 0; i < rows.length; i++) {if (strStudentNos == '') {strStudentNos = rows[i].StudentNo;} else {strStudentNos += ',' + rows[i].StudentNo;}}$('#StudentInfo').datagrid({url: '/AddStudent/QueryStudentInfoByClassNo?strStudentNos=' + strStudentNos,//success: function (data) {columns: [[{ field: 'ck', checkbox: true },{ field: 'StudentNo', title: '学生ID', align: 'center', width: 100 },{ field: 'StudentName', title: '学生姓名', align: 'center', width: 100 }]]});}

   

 control中的代码:


       用Regex.Split来分割字符串,实现循环。


 public ActionResult QueryStudentInfoByClassNo(){int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]);int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]);int total = 0;string[] ArrayStudentNo = Regex.Split(Request["strStudentNos"].ToString(), ",", RegexOptions.IgnoreCase);List<StudentViewModel> StudentViewModel = new List<StudentViewModel>();List<StudentViewModel> listStudent = new List<StudentViewModel>();List<StudentViewModel> student = new List<StudentViewModel>();foreach (string studentNo in ArrayStudentNo){student = basicQueryStudentInfo.QueryStudentInfoByClassNo(studentNo, pageSize, pageIndex, out total);if (student.Count == 0){return null;}else{listStudent.Add(student[0]);}}return Json(listStudent, JsonRequestBehavior.AllowGet);}


   多行代码进行移除的JS


 function ClearExamInformation() {var rows = $('#StudentInfo').datagrid("getSelections");	    //获取你选择的所有行	 //循环所选的行	for (var i = 0; i < rows.length; i++) {var index = $('#StudentInfo').datagrid('getRowIndex', rows[i]);//获取某行的行号	    $('#StudentInfo').datagrid('deleteRow', index);}}


    基础性的代码,需要的是多多积累。

    


    


      





这篇关于代码篇——EasyUI中DataGrid选中多行提交和删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109900

相关文章

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

利用Python在万圣节实现比心弹窗告白代码

《利用Python在万圣节实现比心弹窗告白代码》:本文主要介绍关于利用Python在万圣节实现比心弹窗告白代码的相关资料,每个弹窗会显示一条温馨提示,程序通过参数方程绘制爱心形状,并使用多线程技术... 目录前言效果预览要点1. 爱心曲线方程2. 显示温馨弹窗函数(详细拆解)2.1 函数定义和延迟机制2.2

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制