jsf 2 - Initializing primefaces datatable rowkey -


i have primefaces datatable i'm populating properties of objects in arraylist once user clicks search button. need add column radio button user can select row of table update. i'd set rowkey metadatakey property of objects, following error:

rowkey="#{result.metadatakey}": property 'metadatakey' not found on type java.lang.string

i believed caused metadatakey not existing @ time table rendered. remedy it, set table render after user had completed search, resulted in same error.

here relevant html:

<h:form id="dataform">     <p:panel styleclass="centered">         <p:messages id="message" showdetails="true" autoupdate="true" />         <p:outputlabel id="searchlabel" value="search metadata:  " />&nbsp;&nbsp;&nbsp;                 <p:inputtext id="search"             value="#{updatemetadataitemsbean.searchterm}" />&nbsp;&nbsp;&nbsp;                 <p:commandbutton id="searchbutton" value="search"              action="#{updatemetadataitemsbean.search}"             update="dataform:metadataitems, message, dataform:datapanel" />         <br />         <br />         <br />     </p:panel>     <p:panel styleclass="center" id="datapanel" >         <p:datatable id="metadataitems" var="result"             value="#{updatemetadataitemsbean.results}" styleclass="center"             resizablecolumns="true"             selection="updatemetadataitemsbean.selectedmetadataitem"             rowkey="#{result.metadatakey}" rendered="#{updatemetadataitemsbean.show}">                           <p:column headertext="select item update" selectionmode="single"></p:column>             <p:column headertext="metadata key">                 <h:outputtext value="#{result.metadatakey}" />             </p:column>             <p:column headertext="map name">                 <h:outputtext value="#{result.mapname}" />             </p:column>             <p:column headertext="metadata name">                 <h:outputtext value="#{result.metadataname}" />             </p:column>             <p:column headertext="metadata value">                 <h:outputtext value="#{result.metadatavalue}" />             </p:column>             <p:column headertext="wtx adapter">                 <h:outputtext value="#{result.wtxadapter}" />             </p:column>             <p:column headertext="card number">                 <h:outputtext value="#{result.cardnumber}" />             </p:column>             <p:column headertext="create date ts">                 <h:outputtext value="#{result.createdatets}" />             </p:column>         </p:datatable>         <br />         <br />         <br />     </p:panel> 

this relevant code bean:

public class updatemetadataitemsbean implements serializable{ public static final long serialversionuid = 4; private string metadatakey; private string mapname; private string metadataname; private string metadatavalue; private string wtxadapter; private string cardnumber; private string createdatets; private string searchterm; private string selecteddatakey; private boolean show = false; private metadataitems selectedmetadataitem; private arraylist<metadataitems> results = new arraylist<metadataitems>();  [getters , setters]  public void search() {     search s = new search();     setresults(s.search(searchterm));      setshow(true); } 

thanks in advance can point me in right direction.

alter selection="updatemetadataitemsbean.selectedmetadataitem" selection="#{updatemetadataitemsbean.selectedmetadataitem}".


Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

javascript - Complex json ng-repeat -

jquery - Cloning of rows and columns from the old table into the new with colSpan and rowSpan -