I am using the "for" attribute of course and it points to the viewPanel ID. What is a bit special in my application is, that the view controls are added to the page by a repeatcontrol.
Just try to clearify the issue:
If I. have 2 VIEWControls on the page, and I am changing the displayed rows at my first VIEWControl to 10 rows , and after that i move to my second VIEWControl where I do a refresh or navigate to the second page by the pager . The result is, that the rows at the second VIEWControl are resized to 10 as well, even if it had before e.g. 50 rows.
It is quite impossible to post the current database I am working on ( I could give you a online access), of course I can try to create a sample database, but this is what I tried to avoid, because I think my question is quite general:
The settings when changing the count of rows must be stored somewhere. I guess it could be a viewScope. And is it stored using the at runtime generated id ? Or is there only one variable for that, which will be used from all controls which are using the xe:pagerSize ???
Furthermore I checked the ID's and the eventHandlers.
Meanwhile I will post a piece of sample code for the VIEWControl (it is a CustomControl):
***********
<xp:viewPanel id="viewPanel0" var="rowData"
viewStyle="width:100.0%" viewStyleClass="sitView"
rowClasses="sitViewRow" columnClasses="sitViewColumn"
unreadMarksClass="sitViewRowUnread" readMarksClass="sitViewRowRead"
captionStyleClass="sitViewCaption"
dataTableStyleClass="xspDataTable sitDataTable"
disableTheme="true">
<xp:this.facets>
<xp:panel xp:key="headerPager" id="panel2">
<xp:pager
xp:key="headerPager"
id="pager1"
for="viewPanel0"
partialRefresh="true"
styleClass="pagerRahmen"
disableTheme="false">
<xp:this.rendered><![CDATA[#{javascript:if ((document0.getItemValueString("Cat1Multi") == "1") || (document0.getItemValueString("Cat2Multi") == "1")) {
return document0.getItemValueString("cusePager") == "true";
} else {
var pager1:com.ibm.xsp.component.xp.XspPager = getComponent("pager1");
rptControl=getComponent(pager1.getFor());
if (rptControl==null) return true;
var total=rptControl.getRowCount();
var rowsperpage=rptControl.getRows();
var totalpages=Math.ceil(total/rowsperpage);
return (document0.getItemValueString("cusePager") == "true") && (totalpages > 1);
}}]]></xp:this.rendered>
<xp:this.pageCount><![CDATA[#{javascript:var NbOfPages = document0.getDocument().getItemValueInteger("cNbPages");
if (NbOfPages == "" | NbOfPages == null) {
return 5;
} else {
return NbOfPages;
}}]]></xp:this.pageCount>
<xp:pagerControl
id="pagerControl1"
type="First"
image="/control_start.png">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl2"
type="Separator">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl3"
type="Previous"
image="/control_play_back.png">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl4"
type="Separator">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl5"
type="Group">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl11"
type="Separator">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl12"
type="Next"
image="/control_play.png">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl13"
type="Separator">
</xp:pagerControl>
<xp:pagerControl
id="pagerControl14"
type="Last"
image="/control_end.png">
</xp:pagerControl>
</xp:pager>
<xe:pagerExpand id="pagerExpand1"
for="viewPanel0">
<xe:this.collapseText><![CDATA[#{javascript:getLanguageStringFor("view.collapseAll");}]]></xe:this.collapseText>
<xe:this.expandText><![CDATA[#{javascript:getLanguageStringFor("view.expandAll");}]]></xe:this.expandText>
<xe:this.rendered><![CDATA[#{javascript:if ((document0.getItemValueString("Cat1Multi") == "1") || (document0.getItemValueString("Cat2Multi") == "1")) {
return true;} else {return false;}}]]></xe:this.rendered>
</xe:pagerExpand>
</xp:panel>
<xp:panel xp:key="footerPager" id="panel3">
<xe:pagerSizes
id="pagerSizes1"
for="viewPanel0">
<xe:this.text><![CDATA[#{javascript:getLanguageStringFor("view.showItemsPerPage");}]]></xe:this.text>
<xe:this.rendered><![CDATA[#{javascript:document0.getItemValueString("cshowPagerSize").equals("true");}]]></xe:this.rendered>
</xe:pagerSizes>
</xp:panel>
</xp:this.facets>
**********
Regards
Peter