Index: renderkit/TableRenderer.java =================================================================== --- renderkit/TableRenderer.java (revision 17247) +++ renderkit/TableRenderer.java (working copy) @@ -580,7 +580,7 @@ } Iterator childs = uiData.getChildren().iterator(); Element tr = (Element) domContext.createElement(HTML.TR_ELEM); - if (rowSelectorFound && toggleOnClick) { + if (rowSelectorFound && toggleOnClick && (Boolean.TRUE.equals(rowSelector.getSelectable()))) { tr.setAttribute("onclick", rowSelectionFunctionName + "(event, "+rowSelectionUseEvent+",'"+uiData.getRowIndex()+ "', '"+ formId +"', '"+ paramId +"');"); @@ -590,10 +590,12 @@ if (rowSelectorFound) { if (Boolean.TRUE.equals(rowSelector.getValue())){ selectedClass += " "+ rowSelector.getSelectedClass(); - tr.setAttribute(HTML.ONMOUSEOVER_ATTR, "this.className='"+ CoreUtils.getPortletStyleClass("portlet-section-body-hover") + " "+ rowSelector.getSelectedMouseOverClass() +"'"); + if (Boolean.TRUE.equals(rowSelector.getSelectable())) + tr.setAttribute(HTML.ONMOUSEOVER_ATTR, "this.className='"+ CoreUtils.getPortletStyleClass("portlet-section-body-hover") + " "+ rowSelector.getSelectedMouseOverClass() +"'"); } else { selectedClass += " "+ rowSelector.getStyleClass(); - tr.setAttribute(HTML.ONMOUSEOVER_ATTR, "this.className='"+ CoreUtils.getPortletStyleClass("portlet-section-body-hover") + " "+ rowSelector.getMouseOverClass() +"'"); + if (Boolean.TRUE.equals(rowSelector.getSelectable())) + tr.setAttribute(HTML.ONMOUSEOVER_ATTR, "this.className='"+ CoreUtils.getPortletStyleClass("portlet-section-body-hover") + " "+ rowSelector.getMouseOverClass() +"'"); } // tr.setAttribute(HTML.ONMOUSEOUT_ATTR, "this.className='"+ selectedClass +"'"); commented out for ICE-2571 tr.setAttribute(HTML.ONMOUSEOUT_ATTR, "this.className='" + Index: RowSelector.java =================================================================== --- RowSelector.java (revision 17247) +++ RowSelector.java (working copy) @@ -58,6 +58,7 @@ */ public class RowSelector extends UIPanel { private Boolean value; + private Boolean selectable; private Boolean toggleOnClick; private Boolean toggleOnInput; // private Listener @@ -104,6 +105,26 @@ } } + public Boolean getSelectable() { + ValueBinding vb = getValueBinding("selectable"); + if (vb != null) { + return (Boolean) vb.getValue(getFacesContext()); + } + if (selectable != null) { + return selectable; + } + return Boolean.TRUE; + } + + public void setSelectable(Boolean selectable) { + ValueBinding vb = getValueBinding("selectable"); + if (vb != null) { + vb.setValue(getFacesContext(), selectable); + } else { + this.selectable = selectable; + } + } + public Integer getClickedRow() { ValueBinding vb = getValueBinding("clickedRow"); if (vb != null) {