关于单选(EFSelect)和多选(EFMultiSelect)在修改/详情页面进行回填

1、首先,我们在前端jsp中定义好相关控件;

 <EF:EFMultiSelect ename="result-0-checkPerson" cname="检查人" filter="contains"
                              optionLabel="请选择" colWidth="12" ratio="1:11" required="true">
                <EF:EFOptions blockId="checkPersons" textField="name" valueField="iid"/>
  </EF:EFMultiSelect>

2、blockId是用于在修改页面的service中进行初始化后赋值用到的块名;

3、相关修改/详情页面service;

  @Override
    public EiInfo initLoad(EiInfo inInfo) {
        String iid = inInfo.getString("inqu_status-0-iid");
        if(null == iid || "null".equals(iid) || "".equals(iid)){
            return inInfo;
        }else{
            inInfo = query(inInfo);
            Map<String,String> result = inInfo.getRow("result", 0);//获取查询结果集
            String checkUnitsCode = result.get("orgEname");//检查单位
            String checkLevel = result.get("checkLevel");
            inInfo.set("checkUnitsCode", checkUnitsCode);
            inInfo.set("checkLevel", checkLevel);
            EiBlock checkPersons = new EiBlock("checkPersons");
            checkPersons.setRows((List)queryCheckPeople(inInfo).get("list"));
            inInfo.addBlock(checkPersons);
            String orgEname1 = result.get("orgEname1");//受检单位
            EiBlock directors = new EiBlock("directors");
            inInfo.set("orgEname1", orgEname1);
            directors.setRows((List)queryDirectorPeople(inInfo).get("list"));
            inInfo.addBlock(directors);
            return inInfo;
        }
    }

    @Override
    public EiInfo query(EiInfo inInfo) {
        return super.query(inInfo, "AQJC0201.query");
    }


    /**
     * 获取检查人列表
     * @param inInfo
     * @return
     */
    public EiInfo queryCheckPeople(EiInfo inInfo){
        String checkUnitsCode = inInfo.getString("checkUnitsCode");
        String checkLevel = inInfo.getString("checkLevel");
        Map map  = new HashMap();
        if(checkLevel.equals("10")){
            //公司级检查
            map.put("dep1Ename", checkUnitsCode);
        }
        if(checkLevel.equals("20")){
            //部门级检查
            map.put("dep1Ename", checkUnitsCode);
        }
        if(checkLevel.equals("30")){
            //车间、科室、区域级
            map.put("dep2Ename", checkUnitsCode);
        }
        if(checkLevel.equals("40")){
            //班组级
            map.put("dep3Ename", checkUnitsCode);
        }
        map.put("checkUnitsCode", checkUnitsCode);
        List list = dao.query("AQWT0106.queryCheckPeople", map,0,-999999);
        inInfo.set("list",list);
        return inInfo;
    }

4、其次,我们应该定义好相应js中自定义下拉内容;

//获取检查人员
function getCheckPeople() {
    selectOption("queryCheckPeople", 0, "checkPerson");
}

/**
 * 查询检查单位(多选)
 * @param arg1
 * @param arg3
 */
function queryAllOrgFullName(arg1, arg3) {
    var dropdown = $('#' + arg1).data("kendoMultiSelect");
    var dataJson = {};
    var data = [];
    var stringdata = null;
    var tojson = null;
    var in_index = 0;
    var inInfo = new EiInfo();
    EiCommunicator.send("AQJC0102", "queryAllOrgFullName", inInfo,
        {
            onSuccess: function (response) {
                var a = response.getBlock("orgResult").getMappedRows();
                for (var i = 0; i < a.length; i++) {       //组装数据
                    stringdata = '{"textField":"' + a[i].orgCname + '", "valueField":"' + a[i].orgEname + '"}';
                    tojson = $.parseJSON(stringdata);
                    data.push(tojson);
                    stringdata = null;
                    tojson = null;
                    if (arg3 == a[i].orgEname) {
                        in_index = i;
                    }
                }
                dataJson['data'] = data;
                var dataSource = new kendo.data.DataSource(dataJson);
                dropdown.setDataSource(dataSource);
            },
            onFail: function (errorMsg, status, e) {
            }
        }, {async: false});
}

详情可参照AQJC0201

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android中实现从一个页面单选性别和多选课程后,把数据传到另一个页面可以通过以下步骤实现: 1. 在第一个页面中,定义性别和课程的单选多选控件,例如RadioButton和CheckBox。 2. 在第一个页面中,添加一个“提交”按钮,当用户点击该按钮时,获取所选的性别和课程信息,并将其打包成一个Bundle对象。 3. 在第一个页面中,使用Intent对象跳转到第二个页面,并将打包好的Bundle对象添加到Intent中。 4. 在第二个页面中,获取Intent对象,并从中获取打包好的Bundle对象。 5. 在第二个页面中,解析Bundle对象,获取所选的性别和课程信息,然后将其显示在页面上。 以下是示例代码: 第一个页面: ``` public class FirstActivity extends AppCompatActivity { private RadioGroup mGenderRadioGroup; private CheckBox mMathCheckBox; private CheckBox mEnglishCheckBox; private CheckBox mScienceCheckBox; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); mGenderRadioGroup = findViewById(R.id.gender_radio_group); mMathCheckBox = findViewById(R.id.math_checkbox); mEnglishCheckBox = findViewById(R.id.english_checkbox); mScienceCheckBox = findViewById(R.id.science_checkbox); Button submitButton = findViewById(R.id.submit_button); submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int genderRadioButtonId = mGenderRadioGroup.getCheckedRadioButtonId(); String gender = ""; switch (genderRadioButtonId) { case R.id.male_radio_button: gender = "Male"; break; case R.id.female_radio_button: gender = "Female"; break; } ArrayList<String> courses = new ArrayList<>(); if (mMathCheckBox.isChecked()) { courses.add("Math"); } if (mEnglishCheckBox.isChecked()) { courses.add("English"); } if (mScienceCheckBox.isChecked()) { courses.add("Science"); } Bundle bundle = new Bundle(); bundle.putString("gender", gender); bundle.putStringArrayList("courses", courses); Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtras(bundle); startActivity(intent); } }); } } ``` 第二个页面: ``` public class SecondActivity extends AppCompatActivity { private TextView mGenderTextView; private TextView mCoursesTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); mGenderTextView = findViewById(R.id.gender_text_view); mCoursesTextView = findViewById(R.id.courses_text_view); Bundle bundle = getIntent().getExtras(); if (bundle != null) { String gender = bundle.getString("gender"); ArrayList<String> courses = bundle.getStringArrayList("courses"); mGenderTextView.setText(gender); mCoursesTextView.setText(TextUtils.join(", ", courses)); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值