关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 7377|回复: 4

[Online开发] 主附表,条件达成则按钮不能使用

[复制链接]
发表于 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和另一个都用过了,主表的内容可以显示出来,但附表就出不来了,报错了。
发表于 2018-11-8 16:39:39 | 显示全部楼层
去看 curdtools.js里面的 add() 和 update() 方法是怎么写的 就明白了!
 楼主| 发表于 2018-11-8 16:57:13 | 显示全部楼层
tianshan 发表于 2018-11-8 16:39
去看 curdtools.js里面的 add() 和 update() 方法是怎么写的 就明白了!

看不大懂,但我照猫画虎的写了。
没有手工修改方法,只是使用这边的方法,结果要不就是按钮点击没反应,要不就是出来后全是空的,或附表出不来。最重要的是有报错,报错提示说有个表项有问题。
Property 'mState' not found on type com.jeecg.detailed.entity.WarehouseReceiptListEntity
这个表是Online生成的,并且我也是刚刚添加了数据才修改了。这不应该出现这种报错啊。
发表于 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方法
 楼主| 发表于 2018-11-9 10:01:32 | 显示全部楼层
问题已经解决了。

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


按以上的方法写出即可。我的错误是由其它原因造成的。
第一行代表获取多条数据。第二行的“isSubmission”,是前面表项的“field”的值,最后一行是弹出窗口。
可在curdtools_en.js中找到已经写好的其余的窗口方法,也可就按这儿的方式,内容自己写,最后弹出窗口。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表