jQuery MiniUI

标题: gridview.cancelEditRow(row) [打印本页]

作者: wp260204287    时间: 2013-11-14 08:55:50     标题: gridview.cancelEditRow(row)

如题,如果我获得该row中Rowindex,如果为1,我就把改行取消行编辑,如果不是我就可以编辑。望版主给我看一下
作者: factory    时间: 2013-11-14 09:38:03

先获取该行
比如你是通过获取选中来获得的
var row  = grid.getSelected();
var index = grid.indexOf(row);
if(index == 1){
    grid.cancelEditRow(row)
}
作者: wp260204287    时间: 2013-11-14 10:16:10

factory 发表于 2013-11-14 09:38
先获取该行
比如你是通过获取选中来获得的
var row  = grid.getSelected();

斑竹,这个我试验了,不行啊,希望斑竹给我指点指点,要不我把我的代码填上了吗?
作者: felt    时间: 2013-11-14 10:34:51

wp260204287 发表于 2013-11-14 10:16
斑竹,这个我试验了,不行啊,希望斑竹给我指点指点,要不我把我的代码填上了吗? ...

你做个简单html页面打包上来,我们看下
作者: wp260204287    时间: 2013-11-19 18:03:40

felt 发表于 2013-11-14 10:34
你做个简单html页面打包上来,我们看下

关于行编辑,希望斑竹帮忙看一下啊

作者: felt    时间: 2013-11-19 18:46:13

http://www.miniui.com/demo/#src=datagrid/editable-rowedit.html
看下行编辑的禁止编辑的demo.
grid.on("cellbeginedit", function (e) {
                var row = e.record;
                var editor = e.editor;
              if( grid.indexOf(row) == "1" ){
                editor.setEnabled(false);
               }            
        });
作者: felt    时间: 2013-11-19 19:02:39

像你贴的html页面,是单元格编辑啊
直接这样,不就可以了吗。。。。监听oncellbeginedit

    function oncellbeginedit(e) {
        var row=e.row;
        if (dept_grid.indexOf(row)=="1")
            e.cancel=true;
        }
作者: wp260204287    时间: 2013-11-20 09:27:06

felt 发表于 2013-11-19 19:02
像你贴的html页面,是单元格编辑啊
直接这样,不就可以了吗。。。。监听oncellbeginedit

首先,谢谢斑竹地回复,我刚才试了一下只有
if (dept_grid.indexOf(row)=="1"){
            e.cancel=true;
        }这个好使
而这样
  if( grid.indexOf(row) == "1" ){
                editor.setEnabled(false);
               }  写不好使,控制不了。我想问一下啊有什么区别啊         

作者: felt    时间: 2013-11-20 09:35:09

其实你那个页面是单元格编辑,不是行编辑,所以只要在oncellbeginedit的时候,e.canel=true就可以阻止编辑了。
而下面哪一个,主要是行编辑的时候禁止编辑,其实就是判断条件后把相关的编辑器禁止启用而已。
你可以看下我们两种demo。
http://www.miniui.com/demo/#src=datagrid/editable.html
http://www.miniui.com/demo/#src=datagrid/editable-rowedit.html
作者: wp260204287    时间: 2013-11-20 09:44:17

felt 发表于 2013-11-20 09:35
其实你那个页面是单元格编辑,不是行编辑,所以只要在oncellbeginedit的时候,e.canel=true就可以阻止编辑 ...

谢谢斑竹的回复,第二个例子是行编辑啊
但是里面 //在初始编辑的时候,如果性别为男,就不能编辑日期
        grid.on("cellbeginedit", function (e) {
            if (e.field == "birthday") {
                var row = e.record;
                var editor = e.editor;
                var enabled = row.gender == "2" ? true : false;
                editor.setEnabled(enabled);
            }
        });这个是属于单元格编辑吧,但这个为什么管用呢。希望斑竹的指点
作者: factory    时间: 2013-11-20 09:50:38

wp260204287 发表于 2013-11-20 09:44
谢谢斑竹的回复,第二个例子是行编辑啊
但是里面 //在初始编辑的时候,如果性别为男,就不能编辑日期
    ...

行编辑模式也一样适用,因为行编辑也是一个个单元格进入编辑状态的.只不过单元格编辑是同时有且只有一个单元格处于编辑状态,而行编辑是整行的单元格都处于编辑状态
作者: wp260204287    时间: 2013-11-20 09:53:29

factory 发表于 2013-11-20 09:50
行编辑模式也一样适用,因为行编辑也是一个个单元格进入编辑状态的.只不过单元格编辑是同时有且只有一个单 ...

哦,谢谢斑竹的回复。




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