[richfaces-issues] [JBoss JIRA] Created: (RF-3380) Tag a4j:support +rich:datatable in IE7

Ananda Debnath (JIRA) jira-events at lists.jboss.org
Fri May 9 13:46:32 EDT 2008


Tag a4j:support +rich:datatable in IE7
--------------------------------------

                 Key: RF-3380
                 URL: http://jira.jboss.com/jira/browse/RF-3380
             Project: RichFaces
          Issue Type: Bug
    Affects Versions: 3.1.4
         Environment: Windows XP, JBoss 4.2.0 GA, FireFox 2.0.0.14, Internet Explorer 7.0.5730.13CO, Safari 3.1.1 (on Mac OS X 10.5.2)
            Reporter: Ananda Debnath


I'm trying to implement a UI that uses a rich:datatable object. When the user clicks a row in the datatable, the details of the clicked item has to be displayed in a different part of the page. Searching through the JIRA pages has yielded some clues on how to make this happen... except that the approach that seems to work for FF and Safari, doesn't seem to work with IE 7.0.

Here's my code:

The JSF page:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:a4j="http://richfaces.org/a4j"
  xmlns:rich="http://richfaces.org/rich"
  xmlns:f="http://java.sun.com/jsf/core">

<f:view>
  <h:form id="scratchListForm">
    <rich:panel header="List" id="list">
      <rich:dataTable value="#{RichDataTableRowClickBean.rows}"
        var="row" id="listTable"
        onRowMouseOver="this.style.backgroundColor='#FFFFAA'"
        onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
        <a4j:support event="onRowClick"
          actionListener="#{RichDataTableRowClickBean.rowSelected}"
          action="#{RichDataTableRowClickBean.selectRow}">
          <f:param value="#{row.id}" name="current" />
        </a4j:support>
        <rich:column id="id">#{row.id}</rich:column>
        <rich:column id="name">#{row.name}</rich:column>
      </rich:dataTable>
    </rich:panel>
  </h:form>
</f:view>
</html>

The bean:

package scratch;
import javax.faces.event.ActionEvent;

public class RichDataTableRowClickBean {
    private final Row[] rows = { new Row("0", "Zero"), new Row("1", "One"), new Row("2", "Two") };

    public Row[] getRows() {
        return this.rows;
    }

    public void rowSelected(ActionEvent event) {
        System.out.println(event.getComponent().getId());
        System.out.println(event.getComponent().getAttributes());
        System.out.println(event.getSource());
        System.out.println(event.getPhaseId());
    }

    public String selectRow() {
        System.out.println("row selected");
        return null;
    }

    public static class Row {
        String id;
        String name;

        Row(String id, String name) {
            this.id = id;
            this.name = name;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}

When I click the row in FF/Safari, I get these server side events triggered by means of my System.out's:
12:33:33,707 INFO  [STDOUT] j_id1
12:33:33,707 INFO  [STDOUT] javax.faces.component.UIComponentBase$AttributesMap at 80c55637
12:33:33,707 INFO  [STDOUT] org.ajax4jsf.component.html.HtmlAjaxSupport at 140d57b
12:33:33,707 INFO  [STDOUT] INVOKE_APPLICATION 5
12:33:33,707 INFO  [STDOUT] row selected

With IE 7, I see a Javascript error: 'Type mismatch' in a popup box (Line 85, character 452) - I can't find the actual line/char where the error occurs.

Am I missing something obvious? Is there a workaround for IE7?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list