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

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

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

查看: 11281|回复: 1

[Online开发] datagrid行删除按钮丢失

[复制链接]
发表于 2019-8-20 19:07:39 | 显示全部楼层 |阅读模式
本帖最后由 andyyuan 于 2019-8-21 09:47 编辑

使用以下写法,datagrid行删除按钮丢失了,有哪位大侠知道什么原因吗?
未改造之前,使用系统自动生成的代码是没有问题。
版本号:jeecg4.0
问题代码:
@RequestMapping(params = "datagrid")
public void datagrid(WsItemViewEntity wsItem,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid)  {
   CriteriaQuery cq = new CriteriaQuery(WsItemViewEntity.class, dataGrid);
   try{
      String sql1="  SELECT item.item_code itemCode, plant.plant_code plantCode,plant.plant_name plantName FROM ws_item item \n" +
            "left  join ws_plant plant on  item.plant_id = plant.id    order by item.create_date desc ";
      String sql2=" SELECT  count(item.id) FROM wip_wms.ws_item item  ";
      // 获取总数,用于分页使用
long countMwo = systemService.getCountForJdbc(sql2);
      int allCounts = (int)countMwo;
      int pageSize = cq.getPageSize();// 每页显示数
int curPageNO = PagerUtil.getcurPageNo(allCounts, cq.getCurPage(),pageSize);// 当前页
      //findForJdbc(sql1); sql
      //findHql(hql1); hql
      // 获取数据列表,参数一:查询的sql、参数二三:当前页码、数据总数
List<Map<String, Object>> listMwo=systemService.findForJdbc(sql1, curPageNO, pageSize);
      cq.getDataGrid().setResults(listMwo);
      cq.getDataGrid().setTotal(allCounts);
   }catch (Exception e) {
      throw new BusinessException(e.getMessage());
   }
   TagUtil.datagrid(response, dataGrid);
}




功能界面截图.png
 楼主| 发表于 2019-8-21 10:47:15 | 显示全部楼层
找到问题原因了,这个SQL语句缺少主键ID字段,把ws_item表主键ID查询出来,就可以了。
疑问:对于缺少主键ID字段,界面UI行删除组件不应该不显示哦,不知道这个是基于什么考虑的?如果说从设计上就是没有ID主键字段,不显示行删除按钮,那么批量删除按钮为啥有做显示呢?还请熟悉这个框架的高手帮忙解答。

问题SQL:
String sql1="  SELECT item.item_code itemCode, plant.plant_code plantCode,plant.plant_name plantName FROM ws_item item \n" +
            "left  join ws_plant plant on  item.plant_id = plant.id    order by item.create_date desc ";

修复后SQL:
String sql1="  SELECT item.id , item.item_code itemCode, plant.plant_code plantCode FROM ws_item item \n" +
                                        "left  join ws_plant plant on  item.plant_id = plant.id    order by item.create_date desc ";

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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