日期:2014-05-17  浏览次数:20740 次

ZK,checkbox组件的取值
Dear,最近在用zk做项目,遇到一个关于checkbox组件问题解决不了,希望各位能帮忙小女子一下
问题是这样的:经过查询有一组数据查询出来,数据是用Listbox显示出来,在每组数据前有个复选框checkbox,这个checkbox没有绑定,页面上使用multiple="true"没有使用checkmark="true",现在想选中一些记录进行存档操作,想知道如何在后台得到选中的每条记录进行保存,希望能把页面zul的<checkbox/>的设定和后台如何选取说清楚一下,谢谢大家了!!!
ZK CheckBox ListBox

------解决方案--------------------
用这个multiple="true"属性,你只要用鼠标选中了,就可以去后台得到啊,如果选两条以上的话就会在后台得到一个字符串,而且是像a,b,c这样的字符串。你只要将他们用spit()方法就可以获得每一个了。 不知道能不能帮到你。

------解决方案--------------------

 
    @Listen("onSelect = listbox")
    public void updateMessage() {
        Set<model> selectedModels = ((ListModelList<model>)modelList).getSelection();
        int size = selectedModels.size();
        if ( size > 0 ) {
           ......
        }
    }


------解决方案--------------------
理论上,通过extends和override,你可以定义一个特殊的类来满足你的需求。

不过,我不知道你具体功能需求,所以也不好说这么做是不是会更复杂,更耗时。
------解决方案--------------------
可以给checkbox加id为“checkbox”+recordID。
然后判断checkbox,如果勾选就获取recordID,
再把所有需要处理的recordID以数组形式传回后台。
在后台根据每个id,逐个处理record。
------解决方案--------------------
比如url是...?recordIDs=ids

后台,比如响应button的onclick
    @Listen("onClick=#submit")
    public void updateMessage() {
        List<String> parms = execution.getParameter("recordIDs");
        ......
    }


------解决方案--------------------

你再看看网上其他的前后台交互的例子,应该能找到一些的。