`
michaelqi007
  • 浏览: 7515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在dataTable的column中显示radio button

阅读更多


 用JSF动态实现下图的功能。

 

 

  页面的代码如下 :

<h:form id="myForm">


  <h:panelGrid columns="2">


    <h:panelGroup>


      <t:selectOneRadio id="buttons" layout="spread" forceId="true" forceIdIndex="false" 


                                    value="${bean.selectedButtonValue}">


        <f:selectItems value="#{buttonList.selectList}" />


      </t:selectOneRadio>


      <t:dataTable var="row" value="#{buttonList.dataModel}" rowIndexVar="index">


        <h:column>


          <t:radio for=":myform:buttons" index="#{index}" />


        </h:column>


      </t:dataTable>


    <h:panelGroup>


<h:form>

 

  注意 :

  • 在 selectOneRadio 组件中 forceId 属性值必须为"true" 表示用当前组件的id---"buttons" 重写JSF实现自动生成的 id.因为我们在下面的 radio 组件中要引用 selectOneRadio,所以必须用确定的id.
  • 在 selectOneRadio 组件中 forceIdIndex 属性表示当组件被包含在列表中的时候,是否应当在id属性指定的ID---"button"后添加后缀索引(例如[0]).
  • 在 dataTable 组件中 rowIndexVar 属性表示容纳当前行索引的 JSP 变量名称,这个JSP变量保存在请求范围内.
  • 在 radio 组件中 for 属性指定这个组件的数据来源 selectOneRadio 组件的ID; index 属性指定用来填充这个组件的 selectOneRadio 组件的选择项索引(从0开始).

  ManageBean 的代码如下:

package com.foo.om;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;

public class RadioButtons
{
    private List selectList = new ArrayList();
    private DataModel dataModel;
    // give the initial value null that means  no button selected.
    private String selectedButtonValue= null;

    public RadioButtons()
    {
        selectList.add(new SelectItem("0", ""));
        selectList.add(new SelectItem("1", ""));
        selectList.add(new SelectItem("2", ""));
        dataModel = new ListDataModel(selectList);
    }

    /** Used by <t:selectOneRadio> **/
    public List getSelectList()
    {
        return selectList;
    }

    /** Used by <t:dataTable> **/
    public DataModel getDataModel()
    {
        return dataModel;
    }

    /*confirm which button is selected 
     *according to the value
     */
    public String getSelecedtButtonValue()
   {
       return selectedButtonValue;
   }

    /**set selected button vaule**/

    public String setSelecedtButtonValue(String selectedButtonValue)
   {
      selectedButtonValue = selectedButtonValue;
   }

}
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 13.3 KB
分享到:
评论
1 楼 joy_cz 2010-06-04  
<t:radio for=":myform:buttons" index="#{index}" />  

你这个用什么组件?  radio哪里有~~~~

相关推荐

Global site tag (gtag.js) - Google Analytics