Easyui-datagrid groupview 点击行展开
来源:互联网 发布:淘宝国乐一号 编辑:程序博客网 时间:2024/06/05 03:15
默认groupview是点击前面的加号才展开里面的行,现在我们要做成点击行也能展开。
打开 datagrid-groupview.js
找到bindEvents这个方法,接下来进行改造:
bindEvents: function (target) { var state = $.data(target, 'datagrid'); var dc = state.dc; var body = dc.body1.add(dc.body2); var clickHandler = ($.data(body[0], 'events') || $._data(body[0], 'events')).click[0].handler; body.unbind('click').bind('click', function (e) { debugger var tt = $(e.target); var expander = tt.closest('span.datagrid-row-expander'); var dgroup = tt.closest('div.datagrid-group'); if (expander.length) { var gindex = expander.closest('div.datagrid-group').attr('group-index'); if (expander.hasClass('datagrid-row-collapse')) { $(target).datagrid('collapseGroup', gindex); } else { $(target).datagrid('expandGroup', gindex); } } else if (dgroup.length) { //group层点击事件 var gcheckbox = tt.context.type != "checkbox" ? tt.find('input[type=checkbox]') : tt; var gindex = dgroup.attr('group-index'); if (tt.context.type == "checkbox" || gcheckbox.length) { if (tt.context.type != "checkbox") { gcheckbox._propAttr('checked', !gcheckbox.is(":checked")); } var trs = state.dc.view2.find(gindex != undefined ? 'table.datagrid-btable:eq(' + gindex + ') tbody >tr' : 'table.datagrid-btable tbody >tr'); for (var i = 0; i < trs.length; i++) { var tr = trs[i]; var rowIndex = $(tr).attr("datagrid-row-index"); var gchecked = $(gcheckbox).is(':checked'); if (gchecked) { $(target).datagrid('checkRow', rowIndex); } else { $(target).datagrid('uncheckRow', rowIndex); } }; } else { expander = state.dc.view1.find('div.datagrid-group:eq(' + gindex + ') span.datagrid-row-expander'); var gindex = dgroup.attr('group-index'); if (expander.hasClass('datagrid-row-collapse')) { $(target).datagrid('collapseGroup', gindex); } else { $(target).datagrid('expandGroup', gindex); } } } else { //先执行easyui本身事件 clickHandler(e); //判断是否是点击行 var checkedTr = tt.closest('tr.datagrid-row'); if (tt.context.type == "checkbox" || checkedTr.length) { var rindex = checkedTr.attr('datagrid-row-index'); if (rindex != undefined) { //比较是否全选 var checks = checkedTr.parents('tbody').find('tr.datagrid-row-selected'); var checkRows = checkedTr.parents('tbody').find('tr.datagrid-row'); var gi = tt.parents('table').prevAll('div.datagrid-group').first().attr('group-index'); var ca = checkRows.length == checks.length; state.dc.view1.find('div[group-index=' + gi + '] input[type=checkbox]')._propAttr('checked', ca); } } } e.stopPropagation(); }); },
亲测有效哦~~
阅读全文
0 0
- Easyui-datagrid groupview 点击行展开
- easyui扩展datagrid-groupview实现支持全选及点击标题收缩
- 在easyui中展开DataGrid的行
- easyui datagrid rowedit点击编辑行
- easyUI 展开DataGrid里面的行显示详细信息
- easyUI 展开DataGrid里面的行显示详细信息
- easyUI 展开DataGrid里面的行显示详细信息
- Easyui tree 点击展开收缩
- easyui datagrid 点击不选中
- 点击行不自动选中checkbox --datagrid easyui
- easyui datagrid取消点击行的选中事件
- easyui datagrid行选中情况下,再次点击取消选中。
- easyui 的行展开
- easyUI tree点击文字展开节点
- easyUI tree点击文字展开节点
- easyUI tree点击文字展开节点
- easyui 点击文字展开和收缩节点
- Easyui点击展开多个View
- javascript实现数据结构中的基本排序方法
- hdu2544(Dijkstra算法最短路问题)最短路
- 51单片机---定时器工作方式
- 【Java】Java遍历删除集合中的元素
- Fragment+ViewPager 实现仿微信
- Easyui-datagrid groupview 点击行展开
- wget 命令下载ORACLE官方网JDK的方法
- 【JavaScript】你不知道的 console
- 使用条件变量实现生产者消费者模式
- task02
- arrayHelper的map()方法
- 可信前端之路-代码保护
- TextView设置Html字体风格
- Delphi货币类型转中文大写金额