wxl103010 发表于 2018-11-8 16:08:44

主附表,条件达成则按钮不能使用

jeecg3.7.2

我现在使用的是主、附表,想让主表中一个表项的值为一个数时,修改按钮不能使用。

function update(title,url, id){
       var rowData = $('#'+id).datagrid('getSelected');
       var state = rowData.isSubmission;
       var state0 = "已提交";
       if(state==state0){
               alertTip("该项目已经提交,无法更改!");
       }else{
               url += '?goUpdate&id='+rowData.id;
               add(title,url);
       }
}


使用上面的方法,已经能获得按钮不能使用的效果,相关的值也能获取到。但现在的问题是,如果不等于这个值,那么“修改”功能还得继续使用,而代码最后一行所使用的方法,我实在是找不到相关的,add和另一个都用过了,主表的内容可以显示出来,但附表就出不来了,报错了。

tianshan 发表于 2018-11-8 16:39:39

去看 curdtools.js里面的 add() 和 update() 方法是怎么写的 就明白了!:D

wxl103010 发表于 2018-11-8 16:57:13

tianshan 发表于 2018-11-8 16:39 static/image/common/back.gif
去看 curdtools.js里面的 add() 和 update() 方法是怎么写的 就明白了!

看不大懂,但我照猫画虎的写了。
没有手工修改方法,只是使用这边的方法,结果要不就是按钮点击没反应,要不就是出来后全是空的,或附表出不来。最重要的是有报错,报错提示说有个表项有问题。
Property 'mState' not found on type com.jeecg.detailed.entity.WarehouseReceiptListEntity
这个表是Online生成的,并且我也是刚刚添加了数据才修改了。这不应该出现这种报错啊。

jeecg_ty 发表于 2018-11-8 18:57:46

方法1.想要根据某一列的数据值判断 某个按钮能不能用 可以使用dgcol 的exp这个属性:可以将编辑按钮设置到每一行上,然后为其添加exp属性,这个怎么用参考一下文档http://jeecg3.mydoc.io/ ui标签库文档
方法2.就是如2L所说,看curd里面的add/update方法。。。你其实已经写了,只不过编辑走的是update方法,现需要将最后一句add(title,url);换成update方法

wxl103010 发表于 2018-11-9 10:01:32

问题已经解决了。

function update(title,url, id,width,height) {
                var rowsData = $('#'+id).datagrid('getSelections');
                var state = rowsData.isSubmission;
               var state0 = "已提交";
                if (state==state0) {
                        tip('数据已提交,不可修改');
                        return;
                }
                if (rowsData.length > 1) {
                        tip('请选择一条记录再修改');
                        return;
                }
          url += '&id='+rowsData.id;
                createdetailwindow(title,url,width,height);
}


按以上的方法写出即可。我的错误是由其它原因造成的。
第一行代表获取多条数据。第二行的“isSubmission”,是前面表项的“field”的值,最后一行是弹出窗口。
可在curdtools_en.js中找到已经写好的其余的窗口方法,也可就按这儿的方式,内容自己写,最后弹出窗口。
页: [1]
查看完整版本: 主附表,条件达成则按钮不能使用