August 28, 2007, 11:15 AM
Laurechained listbox population problem under 7.6.2
I'm working on an upgrade from 7.6.0 to 7.6.2. I've uncovered an issue with the population of lists boxes when more than one chain is designed into the HTML page. My testing seems to support that only the highest chainnumber chain actually gets populated.
The two chains are built with chainnumber=0 and chainnumber=1 by the HTML layout painter. Only chainnumber=1 is populating when run. If I manually edit the chainnumber statement in the HTML to swap the numbers, then I can get the other chain to populate, but not both. These chains are being populated with procedures saving to XML and works wonderfully in 7.6.0.
Has anyone experienced this? Know a way around this? Please don't suggest populating from a datasource. That creates issues with the second(or third) value in a chain not displaying (when it should) on selecting the highest chain index number element. This was the primary reason we went to the procedure under 7.6.0 and still remains an issue under 7.6.2.
August 28, 2007, 03:12 PM
GizmoLaure,
Could you provide a sample of what you are trying to do?
I set up two different chains, both with 3 listbox's. One chain uses a procedure that gets COUNTRY, CAR, and MODEL from the CAR file, and the other uses COUNTRY, STATE, and CITY from the PERSINFO file. Both chains seem to work fine in my test.
Here are the two separate chain procedures that I used.
-* File chain1.fex
TABLE FILE CAR
SUM
COUNTRY
CAR
MODEL
BY COUNTRY
BY CAR
BY MODEL
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END
-* File chain2.fex
TABLE FILE PERSINFO
SUM
COUNTRY
STATE
CITY
BY COUNTRY
BY STATE
BY CITY
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END
August 29, 2007, 07:10 AM
LaureHere's the all the code.
Only the chainnumber=1 is populated. Chainnumber=0 populated fine before the second chain was added.
Laure
-* File test762_listcar.fex
TABLE FILE CAR
SUM
COUNTRY
CAR
MODEL
BY COUNTRY
BY CAR
BY MODEL
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END
-* File test762_listcar2.fex
TABLE FILE PERSINFO
SUM
COUNTRY
STATE
CITY
BY COUNTRY
BY STATE
BY CITY
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END
<!-- Generated by Report Layout Painter -->
<HTML>
<HEAD>
<SCRIPT id=IBI_OptionsScript type=text/javascript>
var rltVersion = "76";
var cgipath = "cgipath";
var ibirls = "ibirls2";
var rltdyncalendar = "rltdyncalendar";
var olap="olap";
var olappanebase="olappanebase";
var olapdrill="olapdrill";
var ibixmltree="ibixmltree";
var ibiOptions = new Array(cgipath,ibirls);
</SCRIPT>
<SCRIPT id=IBI_nls src="/ibi_html/javaassist/nls.js" type=text/javascript></SCRIPT>
<SCRIPT id=IBI_ibigbl src="/ibi_html/javaassist/ibi/html/js/ibigbl.js" type=text/javascript></SCRIPT>
<SCRIPT id=IBI_ibigblloadCss type=text/javascript>
ibigblloadCss(null);</SCRIPT>
<SCRIPT id=IBI_RelCallBack type=text/javascript>function AdjustChildrenPosition(){
}
</SCRIPT>
<TITLE>HtmlPage</TITLE>
<SCRIPT id=clientEventHandlersJS type=text/javascript>
//Begin function window_onload
function window_onload() {
UpdateData();
// TODO: Add your event handler code here
}
//End function window_onload
</SCRIPT>
<SCRIPT for=window eventname="onload">window.onload = function() { window_onload(); }</SCRIPT>
</HEAD>
<BODY style="OVERFLOW: auto" edaconnectionrequired="true">
<SELECT id=LBState style="Z-INDEX: 12; LEFT: 190px; WIDTH: 140px; POSITION: absolute; TOP: 180px" tabIndex=12 size=3 name=listbox4 cacheruntimedata="1" inchainindex="2" chainnumber="1" dynalldisplayvalue="ALL" addalloption="1" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar2.fex" newchainnumber="1"></SELECT>
<SPAN id=text4 style="Z-INDEX: 7; LEFT: 340px; WIDTH: 130px; POSITION: absolute; TOP: 160px; HEIGHT: 19px" tabIndex=7>City</SPAN>
<SELECT id=LBCity style="Z-INDEX: 8; LEFT: 340px; WIDTH: 140px; POSITION: absolute; TOP: 180px" tabIndex=8 size=3 name=listbox3 cacheruntimedata="1" inchainindex="3" chainnumber="1" dynalldisplayvalue="ALL" addalloption="1" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar2.fex" newchainnumber="1"></SELECT>
<SPAN id=text2 style="Z-INDEX: 4; LEFT: 190px; WIDTH: 130px; POSITION: absolute; TOP: 10px; HEIGHT: 19px" tabIndex=4>Car</SPAN>
<SPAN id=text1 style="Z-INDEX: 2; LEFT: 20px; WIDTH: 160px; POSITION: absolute; TOP: 10px; HEIGHT: 19px" tabIndex=2>Country</SPAN>
<SELECT id=LBCar style="Z-INDEX: 3; LEFT: 190px; WIDTH: 140px; POSITION: absolute; TOP: 30px" tabIndex=3 size=3 name=listbox1 cacheruntimedata="1" inchainindex="2" chainnumber="0" dynalldisplayvalue="ALL" addalloption="1" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar.fex" newchainnumber="0"></SELECT>
<SPAN id=text3 style="Z-INDEX: 5; LEFT: 340px; WIDTH: 130px; POSITION: absolute; TOP: 10px; HEIGHT: 19px" tabIndex=5 ElementToPaste="true">Model</SPAN>
<SELECT id=LBModel style="Z-INDEX: 6; LEFT: 340px; WIDTH: 140px; POSITION: absolute; TOP: 30px" tabIndex=6 size=3 name=listbox2 cacheruntimedata="1" inchainindex="3" chainnumber="0" dynalldisplayvalue="ALL" addalloption="1" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar.fex" ElementToPaste="true" newchainnumber="0"></SELECT>
<SPAN id=text5 style="Z-INDEX: 9; LEFT: 190px; WIDTH: 130px; POSITION: absolute; TOP: 160px; HEIGHT: 19px" tabIndex=9 ElementToPaste="true">State</SPAN>
<SELECT id=DDCountry style="Z-INDEX: 1; LEFT: 20px; WIDTH: 160px; POSITION: absolute; TOP: 30px" tabIndex=1 name=combobox1 cacheruntimedata="1" inchainindex="1" chainnumber="0" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar.fex" ElementToPaste="true" newchainnumber="0"></SELECT>
<SPAN id=text6 style="Z-INDEX: 11; LEFT: 20px; WIDTH: 160px; POSITION: absolute; TOP: 160px; HEIGHT: 19px" tabIndex=11 ElementToPaste="true">Country</SPAN>
<SELECT id=LBCountry style="Z-INDEX: 13; LEFT: 20px; WIDTH: 140px; POSITION: absolute; TOP: 180px" tabIndex=13 size=3 name=listbox5 cacheruntimedata="1" inchainindex="1" chainnumber="1" dynalldisplayvalue="ALL" addalloption="1" ibiapp_app IBIMR_folder="#bbbdashboard" IBIMR_domain="bbbdash1/bbbdash1.htm" sourcetype="typeFex" datatype="1" datasource="app/test762_listcar2.fex" ElementToPaste="true" newchainnumber="1"></SELECT>
<INPUT id=layoutinfo style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden inputcontrolids="LBState;LBCity;LBCar;LBModel;DDCountry;LBCountry">
<INPUT id=IBIMR_domain style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=bbbdash1/bbbdash1.htm name=IBIMR_domain>
<INPUT id=IBIMR_folder style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=#bbbdashboard name=IBIMR_folder>
<INPUT id=ibif_ex style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=app/test762_car.htm name=ibif_ex>
<INPUT id=ibiapp_app style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value="bbbtemp mars" name=ibiapp_app ismre="1">
<INPUT id=ibic_server style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=EDASERVE name=ibic_server>
<SCRIPT id=IBI_ChainScript type=text/javascript>
<!--
window.chain0=new Array(1);
window.chain0[0]=new String("DDCountry;LBCar;LBModel");
window.chain0[1]=1
window.chain1=new Array(1);
window.chain1[0]=new String("LBCountry;LBState;LBCity");
window.chain1[1]=1
//--></SCRIPT>
</BODY></HTML>
August 30, 2007, 03:59 AM
Tony ALaure,
Taking your code and modifying it to run entirely within the apps folders, it works just fine. Therefore, there is either a problem in your code (and as it was built using the GUI, that would be worrying) or it's a bug in the way MRE functions.
Either way, get it reported to the service desk pronto and get them to check it out.
T
August 30, 2007, 08:32 AM
Tony AIn the earlier version of ibirls2.js (ibirls.js) there was an attribute that could be utilised within a SELECT to provide a single variable for a mulitple select. So instead of getting &var0, &var1, &var2 etc for multiple occurences of &var, you received a single &var with the multiple values seperated by the value from "operation".
Say, for instance, you had a multiselect for COUNTRY and you chose ENGLAND, FRANCE and JAPAN.
Well, "normal" usage gives you the variables
&var = ENGLAND
&var0 = 3
&var1 = ENGLAND
&var2 = FRANCE
&var3 = JAPAN
The use of an "operation" attribute value of "OR" gave you a single variable -
&var = 'ENGLAND' OR 'FRANCE' OR 'JAPAN'
This usage seems to have disappeared from ibirls2.js although there is some residual coding that references it.
This function had great potential but I have never seen it used much (if at all), perhaps this is why it seems to have been removed.
T
September 13, 2007, 04:25 PM
CornelisI read in on of the posts:
"We had a very similar issue and it was fixed by a patch to ibirls2"
Where can I get this patch?
This problem renders our application useless... It heavily depends on these chained controls....
September 14, 2007, 02:51 AM
Tony ACornelis,
Contact your local IBI branch office or log on to the support site where you can search for the patch.
Either way you need to have maintenance with IB and would need to know your site code etc. (unless you are already registered on the support site where you would have used your site code already!)
T