Hallo,
ich versuche durch die Auswahl aus einer listBox die gewählte Tabelle der DB auf mein table component zu legen.
default sieht es so aus
<code>
<ui:body binding="#{Page1.body1}" id="body1" style="-rave-layout: grid">
<ui:form binding="#{Page1.form1}" id="form1">
<ui:listbox binding="#{Page1.list}" id="list" items="#{Page1.listDefaultOptions.options}"
onChange="common_timeoutSubmitForm(this.form, 'list');" style="left: 48px; top: 72px; position: absolute" valueChangeListener="#{Page1.list_processValueChan ge}"/>
<ui:table augmentTitle="false" binding="#{Page1.table}" id="table" style="position: absolute; left: 192px; top: 96px" title="Table" width="600">
<ui:tableRowGroup binding="#{Page1.tableRowGroup1}" id="tableRowGroup1" rows="5" sourceData="#{SessionBean1.personDataProvider}" sourceVar="currentRow">
<ui:tableColumn binding="#{Page1.tableColumn1}" headerText="PERSONID" id="tableColumn1" sort="PERSON.PERSONID">
<ui:staticText binding="#{Page1.staticText1}" id="staticText1" text="#{currentRow.value['PERSON.PERSONID']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn2}" headerText="NAME" id="tableColumn2" sort="PERSON.NAME">
<ui:staticText binding="#{Page1.staticText2}" id="staticText2" text="#{currentRow.value['PERSON.NAME']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn3}" headerText="JOBTITLE" id="tableColumn3" sort="PERSON.JOBTITLE">
<ui:staticText binding="#{Page1.staticText3}" id="staticText3" text="#{currentRow.value['PERSON.JOBTITLE']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn4}" headerText="FREQUENTFLYER" id="tableColumn4" sort="PERSON.FREQUENTFLYER">
<ui:staticText binding="#{Page1.staticText4}" id="staticText4" text="#{currentRow.value['PERSON.FREQUENTFLYER']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn5}" headerText="LASTUPDATED" id="tableColumn5" sort="PERSON.LASTUPDATED">
<ui:staticText binding="#{Page1.staticText5}" id="staticText5" text="#{currentRow.value['PERSON.LASTUPDATED']}"/>
</ui:tableColumn>
</ui:tableRowGroup>
</ui:table>
</code>
meine methode in page1.jsp für die listBox sieht so aus.
<code>
public void list_processValueChange(ValueChangeEvent event) {
int a = Integer.parseInt((String)list.getSelected());
error("selected return = "+ a);
if(a == 2){
tableRowGroup1.setSourceData(getSessionBean1().get HotelDataProvider());
//dataProvider.refresh();
//dataProvider.commitChanges();
}else error("Fehler");
}
<code>
ich bekomme dann
Caused by: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: PERSON.PERSONID
was mache ich falsch?
MFG
SubSonniC
ich versuche durch die Auswahl aus einer listBox die gewählte Tabelle der DB auf mein table component zu legen.
default sieht es so aus
<code>
<ui:body binding="#{Page1.body1}" id="body1" style="-rave-layout: grid">
<ui:form binding="#{Page1.form1}" id="form1">
<ui:listbox binding="#{Page1.list}" id="list" items="#{Page1.listDefaultOptions.options}"
onChange="common_timeoutSubmitForm(this.form, 'list');" style="left: 48px; top: 72px; position: absolute" valueChangeListener="#{Page1.list_processValueChan ge}"/>
<ui:table augmentTitle="false" binding="#{Page1.table}" id="table" style="position: absolute; left: 192px; top: 96px" title="Table" width="600">
<ui:tableRowGroup binding="#{Page1.tableRowGroup1}" id="tableRowGroup1" rows="5" sourceData="#{SessionBean1.personDataProvider}" sourceVar="currentRow">
<ui:tableColumn binding="#{Page1.tableColumn1}" headerText="PERSONID" id="tableColumn1" sort="PERSON.PERSONID">
<ui:staticText binding="#{Page1.staticText1}" id="staticText1" text="#{currentRow.value['PERSON.PERSONID']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn2}" headerText="NAME" id="tableColumn2" sort="PERSON.NAME">
<ui:staticText binding="#{Page1.staticText2}" id="staticText2" text="#{currentRow.value['PERSON.NAME']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn3}" headerText="JOBTITLE" id="tableColumn3" sort="PERSON.JOBTITLE">
<ui:staticText binding="#{Page1.staticText3}" id="staticText3" text="#{currentRow.value['PERSON.JOBTITLE']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn4}" headerText="FREQUENTFLYER" id="tableColumn4" sort="PERSON.FREQUENTFLYER">
<ui:staticText binding="#{Page1.staticText4}" id="staticText4" text="#{currentRow.value['PERSON.FREQUENTFLYER']}"/>
</ui:tableColumn>
<ui:tableColumn binding="#{Page1.tableColumn5}" headerText="LASTUPDATED" id="tableColumn5" sort="PERSON.LASTUPDATED">
<ui:staticText binding="#{Page1.staticText5}" id="staticText5" text="#{currentRow.value['PERSON.LASTUPDATED']}"/>
</ui:tableColumn>
</ui:tableRowGroup>
</ui:table>
</code>
meine methode in page1.jsp für die listBox sieht so aus.
<code>
public void list_processValueChange(ValueChangeEvent event) {
int a = Integer.parseInt((String)list.getSelected());
error("selected return = "+ a);
if(a == 2){
tableRowGroup1.setSourceData(getSessionBean1().get HotelDataProvider());
//dataProvider.refresh();
//dataProvider.commitChanges();
}else error("Fehler");
}
<code>
ich bekomme dann
Caused by: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: PERSON.PERSONID
was mache ich falsch?
MFG
SubSonniC
Comment