[
https://issues.jboss.org/browse/RF-11948?page=com.atlassian.jira.plugin.s...
]
Rene O commented on RF-11948:
-----------------------------
This solution doesn't work for all usecases. If you use ajax, this solution fails. See
the following code for an example:
{code:title='Show table with ajax'}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
<h:head>
<title>JSF Test</title>
</h:head>
<h:body>
<rich:extendedDataTable rendered="false"/>
<rich:column rendered="false"/>
<h:form id="myForm">
<h:commandButton id="switchButton" value="Show Table"
action="#{ctr.showItemA}" immediate="true" >
<f:ajax immediate="true" execute="@this"
render="itemA" />
</h:commandButton>
<br/><br/>
<h:panelGroup id="itemA">
<h:panelGroup id="mytableGroup"
rendered="#{model.itemAEnabled}">
<rich:extendedDataTable id="tableA" var="item"
value="#{model.tableList}" rows="5">
<f:facet name="header">
<h:outputText value="HeaderA" />
</f:facet>
<rich:column id="colA" width="10px">
<f:facet name="header">
ColA
</f:facet>
#{item.itemA}
</rich:column>
</rich:extendedDataTable>
<script type="text/javascript">
jQuery(#{rich:component('tableA')}.element).bind("rich:ready",
function(event, table) {
alert('resize');
#{rich:component('tableA')}.setColumnWidth('colA','200');
});
</script>
</h:panelGroup>
</h:panelGroup>
</h:form>
</h:body>
</html>
{code}
If you click the ajaxified button to show the table, the rich:ready event isn't fired
and so the resizing doesn't work.
If you press F5 to refresh the page, the event is fired. But this is not the wanted
behaviour.
The resizing also works directly, if panelGroup with id='mytableGroup' is alway
rendered -> <h:panelGroup id="mytableGroup" rendered="true">
> rich:extendedDataTable generates a js-error stating this.normalPartStyle is
undefined
>
-------------------------------------------------------------------------------------
>
> Key: RF-11948
> URL:
https://issues.jboss.org/browse/RF-11948
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tables
> Affects Versions: 4.2.0.CR1
> Environment: richfaces-4.2.0-SNAPSHOT, Firefox 10, IE8
> Reporter: Rene O
> Assignee: Brian Leathem
> Fix For: 4.2.1.CR1
>
>
> If you use rich:extendedDataTable and manually set the width of a column afterwards,
a js error occurs
> {code:title=page-snippet to reproduce the issue}
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html
xmlns="http://www.w3.org/1999/xhtml"
>
xmlns:h="http://java.sun.com/jsf/html"
>
xmlns:f="http://java.sun.com/jsf/core"
>
xmlns:ui="http://java.sun.com/jsf/facelets"
>
xmlns:a4j="http://richfaces.org/a4j"
>
xmlns:rich="http://richfaces.org/rich"
>
> <h:head>
> <title>JSF Test</title>
> </h:head>
> <h:body>
> <h:form id="myForm">
> <rich:extendedDataTable id="tableA" var="item"
value="#{model.tableList}" rows="5">
> <f:facet name="header">
> <h:outputText value="HeaderA" />
> </f:facet>
> <rich:column id="colA" width="100px">
> <f:facet name="header">
> ColA
> </f:facet>
> #{item.itemA}
> </rich:column>
> </rich:extendedDataTable>
> <script type="text/javascript">
> #{rich:component('tableA')}.setColumnWidth('colA','200');
> </script>
> </h:form>
> </h:body>
> </html>
> {code}
> {code:title=js error}
> Fehler: this.normalPartStyle is undefined
> Quelldatei:
http://localhost:8080/jsftest/javax.faces.resource/extendedDataTable.js.j...
> Zeile: 279
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira