编辑/修改页面的下拉框的回显

1.先在需要展示的实体类中增加是否选中的属性

代码如下:

/**
     * 设置一个选中判断变量
     * */
    @Excel(name = "选中状态")
    private boolean flag = false;
//get,set方法
 public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }
//重写tostring
@Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE){
            .append("flag",isFlag())
            .toString();
        }

2.根据当前页面的id查询所需实体类的集合

控制层代码如下:

/**
     * 修改仪器使用记录
     */
    @RequiresPermissions("common:shebeishiyongjilu:edit")
    @GetMapping("/edit/{syjlid}")
    public String edit(@PathVariable("syjlid") String syjlid, ModelMap mmap)
    {
        //将工程表中的信息传到前端
        mmap.put("gongchengs",pmsGongchengService.selectPmsGongchengBySyjlId(syjlid));
        return prefix + "/edit";
    }

业务层代码如下:

@Override
    public List<PmsGongcheng> selectPmsGongchengBySyjlId(String syjlid) {
        //根据主键id查询工程表里数据
        List<PmsGongcheng> mpmsGongchengs = pmsGongchengMapper.selectPmsGongchengBySyjlId(syjlid);
        //获取设备记录表的全部数据
        List<PmsGongcheng> pmsGongchengs = pmsGongchengMapper.selectPmsGongchengAll();
        //遍历:两层循环
        for(PmsGongcheng pmsGongcheng : pmsGongchengs){

            for(PmsGongcheng mpmsGongcheng : mpmsGongchengs){
                //设置选中状态,回显的时候你的flag为true
                if (mpmsGongcheng.getGcid().equals(pmsGongcheng.getGcid())){
                    pmsGongcheng.setFlag(true);
                    break;
                }
            }
        }
        return pmsGongchengs;
    }

3.Mapper的实现

selectPmsGongchengBySyjlId(syjlid)的实现:

 <select id="selectPmsGongchengBySyjlId" resultType="com.lrkj.pms.ztjg.common.domain.PmsGongcheng">
        select gc.gcid,gc.gcmc
        from pms_shebeishiyongjilu syjl
        left join pms_gongcheng gc on syjl.gcid = gc.gcid
        where syjl.syjlid = #{syjlid}
 </select>

selectPmsGongchengAll()的实现:

<select id="selectPmsGongchengAll" parameterType="com.lrkj.pms.ztjg.common.domain.PmsGongcheng" resultMap="PmsGongchengResult">
        <include refid="selectPmsGongchengVo"/>
        where gc.del_flag = '0'
        ORDER BY gc.gcid DESC
</select>

此时后端就已经实现了选中状态的显示

4.html页面的显示

 <select id="gcid" name="gcid" class="form-control m-b">
                        <option value ="">--请选择--</option>
                        <option
                                //这是循环传过来的实体类集合
                                th:each="gongcheng:${gongchengs}"
     						//这是根据id进行查询
                                th:value="${gongcheng.gcid}"
                                //显示你需要展示的信息
                                th:text="${gongcheng.gcmc}"
                                //你定义的选中状态
                                th:selected="${gongcheng.flag}"
                                 ></option>
                    </select>

Logo

快速构建 Web 应用程序

更多推荐