[richfaces-issues] [JBoss JIRA] (RF-11948) rich:extendedDataTable generates a js-error stating this.normalPartStyle is undefined

Brian Leathem (JIRA) jira-events at lists.jboss.org
Tue Mar 27 20:32:47 EDT 2012


    [ https://issues.jboss.org/browse/RF-11948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12679828#comment-12679828 ] 

Brian Leathem commented on RF-11948:
------------------------------------

Now you are addressing a different timing.  If you want to set the column width on page load, listen to the rich:ready event of the EDT as mentioned above.  If you want to set the column width after an ajax event, call the javascript via the oncomplete handler of the ajax method, as in:

{code}
<a4j:commandButton value="Toggle Table" render="panel" action="#{model.toggleshow}" oncomplete="setWidth()" />
{code}

where setWidth is defined:
{code}
<h:outputScript target="body">
    var setWidth = function () {
        var table = #{rich:component('capitals')};
        table &amp;&amp; table.setColumnWidth('colCapital','200')
    }

    var table = #{rich:component('capitals')};
    table &amp;&amp; jQuery(table.element).bind("rich:ready", setWidth);
</h:outputScript>
{code}

Really though, doing these manipulations via the javascript API (while possible) is messy, and you should really be using the _width_ attribute of _rich:column_ if at all possible.
                
> 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.jsf?ln=org.richfaces
> 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

        


More information about the richfaces-issues mailing list