andyyuan 发表于 2019-8-20 19:07:39

datagrid行删除按钮丢失

本帖最后由 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" +
            "leftjoin ws_plant plant onitem.plant_id = plant.id    order by item.create_date desc ";
      String sql2=" SELECTcount(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);
}




andyyuan 发表于 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" +
            "leftjoin ws_plant plant onitem.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" +
                                        "leftjoin ws_plant plant onitem.plant_id = plant.id    order by item.create_date desc ";

页: [1]
查看完整版本: datagrid行删除按钮丢失