jQuery MiniUI

标题: datagrid enabled 问题 [打印本页]

作者: MK_AlieZ    时间: 2017-9-12 10:07:50     标题: datagrid enabled 问题

      页面上有两个 datagrid ,第二个 datagrid 是根据第一个 datagrid 选中的行显示数据, 现在想在第二个 datagrid 有操作时,禁用第一个 datagrid,toolbar 的所有控件.  在第一个 datagrid 设置 enabled="false" 后, 只是样式有改变 ,datagrid 还是能 允许选择行,toolbar上的控件也能正常使用.
请问怎么解决?



作者: MK_AlieZ    时间: 2017-9-12 10:42:33

用 setEnabled 也是一样的效果
作者: felt    时间: 2017-9-12 11:24:49


1 toolbar的按钮,一个个获取之后禁用
2 datagrid   enabled只有灰化和禁止编辑。
  grid.setAllowRowSelect(false)//禁止行选择
  grid.setAllowSortColumn(false) //禁止点击表头排序
  grid.setAllowColumnMove(false)//禁止移动改变列宽
等等都要控制
作者: MK_AlieZ    时间: 2017-9-12 11:55:49

felt 发表于 2017-9-12 11:24
1 toolbar的按钮,一个个获取之后禁用
2 datagrid   enabled只有灰化和禁止编辑。
  grid.setAllowRowSele ...

请问如何禁用分页按钮
作者: felt    时间: 2017-9-12 13:47:37

MK_AlieZ 发表于 2017-9-12 11:55
请问如何禁用分页按钮

grid.setEnabled(false) 可以禁用的
作者: MK_AlieZ    时间: 2017-9-12 13:52:55

本帖最后由 MK_AlieZ 于 2017-9-12 13:54 编辑
felt 发表于 2017-9-12 13:47
grid.setEnabled(false) 可以禁用的

拿官网的例子改了,试了下,加上 grid.setEnabled(false)  只有样式变化, 分页按钮还是可以正常点击使用
作者: felt    时间: 2017-9-12 15:03:03

MK_AlieZ 发表于 2017-9-12 13:52
拿官网的例子改了,试了下,加上 grid.setEnabled(false)  只有样式变化, 分页按钮还是可以正常 ...

var btns = mini.getChildControls(grid.el);
            $(btns).each(function (i, item) {
                if (item.type == "button") item.setEnabled(false);
            })
作者: MK_AlieZ    时间: 2017-9-12 16:23:01

felt 发表于 2017-9-12 15:03
var btns = mini.getChildControls(grid.el);
            $(btns).each(function (i, item) {
         ...

版主,试了,也不行,还是和原来一样
作者: felt    时间: 2017-9-12 19:14:33

MK_AlieZ 发表于 2017-9-12 16:23
版主,试了,也不行,还是和原来一样

这代码我们测试过,肯定是可以的。
请检查你那为什么不行,有什么报错提示。
作者: MK_AlieZ    时间: 2017-9-13 08:55:01

felt 发表于 2017-9-12 19:14
这代码我们测试过,肯定是可以的。
请检查你那为什么不行,有什么报错提示。 ...
  1. <script type="text/javascript">
  2.         mini.parse();

  3.         var grid = mini.get("datagrid1");
  4.         grid.load();
  5.         
  6.         grid.setEnabled(false);
  7.         var btns = mini.getChildControls(grid.el);
  8.         $(btns).each(function (i, item) {
  9.             if (item.type == "button") item.setEnabled(false);
  10.         });
  11.       ...
复制代码
直接在官网的datagrid 例子里,修改运行,没有出现报错,只有变灰.
作者: felt    时间: 2017-9-13 09:16:10

MK_AlieZ 发表于 2017-9-13 08:55
直接在官网的datagrid 例子里,修改运行,没有出现报错,只有变灰.

grid加载是异步的,加载完会更新表格,所以你这样设置是无效的。请在加载回调里处理
grid.load(null,function(e){
           grid.setEnabled(false);
        var btns = mini.getChildControls(grid.el);
        $(btns).each(function (i, item) {
            if (item.type == "button") item.setEnabled(false);
        });
})




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2