jQuery EasyUI datagrid在翻页以后仍能记录被选中行的
原文如下:
在繁忙的都市中,有一位年轻的厨师,他的烹饪技艺精湛,深受食客们的喜爱。每天早晨,他都会早早地起床,走进厨房,开始准备当天的美食。他的厨艺灵感来自于对生活的热爱和对食材的敬畏。他深知每一种食材的独特之处,能够巧妙地将它们融合在一起,创造出令人惊叹的美味。
他的烹饪风格独特,注重细节,每一道菜都是他对生活的理解和感悟。他的拿手菜是一道独特的红烧肉,深受食客们的喜爱。每当他烹饪这道菜时,都会用心去感受食材的变化,将情感融入菜肴之中。他的红烧肉口感鲜美,肥而不腻,入口即化,令人回味无穷。
这位厨师不仅在烹饪上有着出色的表现,同时也有着温和的性格和乐于助人的品质。他经常会参加一些公益活动,为需要帮助的人们提供美食。他的善举深受人们的称赞和尊敬。
在这座喧嚣的都市里,有一位年轻的厨师,他的厨艺精湛无比,深受食客们的喜爱。每天清晨,他都会带着微笑走进厨房,开始为新的一天准备美食佳肴。他对生活的热爱和对食材的敬畏,成为他烹饪灵感的源泉。他深知每一种食材的独特魅力,并能巧妙地将其融合在一起,创造出令人惊艳的美食。
他的烹饪风格独具匠心,注重细节,每一道菜肴都是他对生活的独特诠释和感悟。尤其是他的拿手菜——红烧肉,更是令人回味无穷。每当烹饪这道菜时,他都会全神贯注,用心感受食材的细微变化,将情感融入菜肴之中。他的红烧肉口感鲜美,肥而不腻,入口即化,让人仿佛沉浸在美食的海洋中。
这位厨师不仅烹饪技艺高超,更有着温和的性格和乐于助人的品质。他积极参与各种公益活动,为需要帮助的人们送上温暖的美食。他的善举和无私奉献赢得了人们的尊重和钦佩。他的故事和厨艺一样,都充满了温暖和感动,让人不禁为之动容。这篇文章主要介绍了如何使用jQuery EasyUI datagrid在翻页后仍然能够记录被选中行的实现代码。文章以一份详细的代码示例和丰富的解说,帮助读者理解并实现该功能。
问题一:如何实现jQuery EasyUI datagrid在翻页后仍然记录选中行?
解答:
问题二:如何添加和删除选中行的记录?
解答:
添加选中行的记录可以通过遍历选中的行,并将其添加到数组中来实现。删除选中行的记录可以通过遍历数组,并删除对应的元素来实现。在这个过程中,需要注意处理数组中存在的重复元素。
问题三:如何在下一步操作中使用选中的商品ID?
解答:
可以在点击下一步时,将记录的商品ID数组通过某种方式(如弹窗)传递下去。具体的实现方式可以根据实际的需求进行定制,例如可以在新的页面中接收这些ID,并进行相应的操作。
问题四:如何编辑和添加商品?
解答:
编辑商品可以通过选中商品行,然后跳转到商品编辑页面实现。添加商品则可以直接跳转到商品添加页面。这些操作都可以通过链接或者按钮触发。
问题五:如何删除高级搜索的结果?
解答:
可以通过为删除按钮添加点击事件,然后在事件中获取到对应的行,然后将其删除。具体的实现方式可以参考文章中的代码示例。
问题六:如何格式化日期?
解答:
可以使用JavaScript的Date对象以及字符串拼接的方式,将日期格式化为特定的格式。具体的实现方式可以参考文章中的代码示例。
问题一:如何实现翻页?
对于前端而言,启用分页功能只需设置pagination:true,这将显示一个分页工具栏。而在后台,我们需要从HttpServletRequest中获取两个参数:page和rows,分别代表当前的页数及每页显示的数据行数。我们还需要获取总数据数total。具体的实现方式如下:
在Controller层,我们通过@RequestMapping注解获取数据,并通过GridModel类进行数据的封装。根据用户的权限,我们可能需要从不同的数据源获取数据。如果是管理员权限,直接从goodsService获取在售商品数据;否则,根据用户所拥有的品牌权限获取对应品牌下的商品数据。将获取的商品数据和总数据数封装到GridModel中并返回。
1. 设置singleSelect为false,开启复选模式。
2. 在列配置中,为需要显示复选框的列设置checkbox:true。
3. 利用easyUI提供的checkOnSelect和selectOnCheck两个属性来实现复选框与行选中的同步。checkOnSelect属性表示当用户点击某一行时,是否选中/取消选中复选框;selectOnCheck则表示点击复选框时是否选中该行。将这两个属性都设置为true,即可实现行选中与复选框选中的同步。
问题三:如何在执行翻页以前将被选中的行的主键保存起来?
在执行翻页操作前保存已选中行的主键是一个常见的需求。我们可以利用datagrid的onBeforeLoad事件,在这个事件中进行相关处理。具体做法如下:
1. 在页面加载时,为datagrid注册onBeforeLoad事件。
2. 在onBeforeLoad事件中,获取当前已选中的行的主键。
3. 将获取的主键保存到某个变量或数据结构中,例如使用JavaScript的localStorage或者将数据发送到后台保存。
4. 当执行翻页操作时,带上已保存的主键信息,以便在后台进行相应的处理。
在使用jQuery EasyUI datagrid时,我们经常需要在用户交互中处理选中行的记录。这里,我们将深入如何在翻页后仍然能够记录选中的行。我们需要定义一个数组idsArray来保存选中行的主键。这个数组将通过调用$dg.datagrid('getSelections')来获取当前选中的行。这个过程对应于代码中的第105行方法addSelectedGoodsIdToArray的职责。
想象一下用户正在浏览狼蚁网站的SEO优化页面,他们通过查看上方的样图来点击“下一步”,这个动作会提交当前datagrid中的选中内容到后台进行处理。在页面的function nextStep()中,我们需要确保执行addSelectedGoodsIdToArray方法,以便保存选中的记录。这是因为如果不触发这个方法,当数据被提交到后台时,当前页面选中的行将不会被保存。
接下来,我们面对的问题是:如何将之前选中但后来取消选中的行从保存的记录中删除?经过测试,当我们将checkOnSelect和selectOnCheck都设置为true时,onClickRow在被调用时会触发onCheck或onUncheck。值得注意的是,这里的onUncheck中的check首字母是小写,如果误写成大写就会失效。在用户取消勾选一行后,我们可以在onUncheck中进行相应的处理。这个过程对应于代码中的第52行的功能。
针对如何在datagrid数据加载完成后自动选中之前选中的行这一问题,答案是:由于翻页涉及重新从后台获取数据的过程,我们只需在onLoadSuess方法中解决勾选问题即可。在这个方法中,传入的data参数代表当前datagrid的数据。我们可以通过调用$dg.datagrid('selectRow',index)来选中第index行的数据。这里的index是从零开始的自然行号,而不是当前行的主键。我们还可以使用data.rows().goodsId来获取当前行数据的goodsId属性值。基于这些知识点,我们可以遍历idsArray,将当前行的主键与之匹配,匹配上的就进行勾选。
平面设计师
- jQuery EasyUI datagrid在翻页以后仍能记录被选中行的
- 详解laravel中blade模板带条件分页
- jQuery实现checkbox的简单操作
- mysql 5.7以上版本安装配置方法图文教程(mysql 5
- 一文看懂PHP进程管理器php-fpm
- jQuery文字提示与图片提示效果实现方法
- php实现读取超大文件的方法
- jQuery遮罩层效果实例分析
- Nuxt.js实战详解
- 微信小程序tabBar模板用法实例分析【附demo源码下
- .net core中的Authorization过滤器使用
- Vue.js实现微信过渡动画左右切换效果
- chosen实现省市区三级联动
- ASP与Excel结合生成数据表和Chart图的代码
- 使用grunt合并压缩js和css文件的方法
- 浅析Bootstrap验证控件的使用