Focal Point
Sort Listbox Values in 7.6.7 HTML Composer?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/2037060895

February 03, 2011, 12:01 AM
Dan Satchell
Sort Listbox Values in 7.6.7 HTML Composer?
In release 7.6.9 and higher there is an option in HTML Composer when creating a list box to sort the displayed values in ascending or descending order. Can someone who has release 7.6.9 or higher please look at the HTML generated by HTML Composer when the descending option is selected and tell me exactly what code is added where to the generated HTML to sort the list box values? The reason I ask is because I am curious to see if can add the same code to HTML Composer-generated code in release 7.6.7 to sort values in a list box. Probably won't work but figured it was worth a try to avoid having to jump through other hoops to sort list box values. Thanks in advance.


WebFOCUS 7.7.05
February 03, 2011, 09:47 AM
Francis Mariani
Be aware that the code in this v7.6.11 example uses ibirls3. The sorting is appears to be done with the dosorting and sortorder attributes.

Why wouldn't you use an external procedure, where you can sort as you wish?

<HTML>
<HEAD>
<META id=mycharsetmeta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
<META id=Generation content="Created in release 7611, Generation 3.0">
<SCRIPT id=IBI_RelCallBack type=text/javascript>function AdjustChildrenPosition(){
}
</SCRIPT>

<SCRIPT id=IBI_OptionsScript type=text/javascript>
var cgipath = "cgipath";
var ibirls = "ibirls3";

var rltdyncalendar = "rltdyncalendar";
var gmap = "ibigmap";
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_nlsVars src="/ibi_html/javaassist/nlsvars.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);
addIntlTranslatedJS("composertrans.js");
</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
//add onInitialUpdate() function to make changes before initial run of the reports
}
//End function window_onload
</SCRIPT>

<SCRIPT for=window eventname="onload">window.onload = function() { window_onload(); }</SCRIPT>

<META content="MSHTML 6.00.2900.6049" name=GENERATOR></HEAD>
<BODY style="OVERFLOW: auto" persistentuniqueid="compUid_1" nextelementuniquenumber="2" elementtype="21" edaconnectionrequired="true">
<SELECT id=combobox1 style="Z-INDEX: 1; LEFT: 230px; WIDTH: 330px; POSITION: absolute; TOP: 60px" tabIndex=1 persistentuniqueid="compUid_2" name="combobox1"></SELECT>    
<INPUT id=layoutinfo style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden>
<INPUT id=ibiapp_app style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=baseapp name="ibiapp_app">
<INPUT id=ibic_server style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=EDASERVE isdataserversarea="1" name="ibic_server">
<xml id=focus_xmlelement>
<script type="text/xml">
	
<rootxmlnode top="50" left="10" width="150" height="130">
		
<variables></variables>
		
<input_controls>
			
<input_control bindcontrolid="compUid_2" elementtype="8" name="combobox1" id="combobox1" multiple="0" top="20" left="30" width="60" height="20" inbinding="1" onetimepopulated="0">
				
<link linktype="default">
					
<condition default="1" name="Default" whattodowithcontrol="0" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0">
						
<data_info sourcetype="typeMaster" datatype="1" selectedvalue="" ibiapp_app="baseapp" datasource="CAR.mas" displayfield="CAR.ORIGIN.COUNTRY" ibiformat="A10" dfformat="A10" datafield="CAR.ORIGIN.COUNTRY" modifiedrequest="0" dosorting="1" sortorder="1">
							
<![CDATA[TABLE FILE CAR
SUM FST.CAR.ORIGIN.COUNTRY
 BY CAR.ORIGIN.COUNTRY
-*insert_filters_here
ON TABLE PCHOLD FORMAT XML
END
]]></data_info></condition></link></input_control></input_controls>
		
<other_bound_objects></other_bound_objects>
		
<requests></requests></rootxmlnode></script>
</xml></BODY>
<SCRIPT id=IBI_loader type=text/javascript>
doBeforeLoad();
</SCRIPT>
</HTML>



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
February 03, 2011, 10:21 AM
Dan Satchell
Thank you very much Francis for the code. I was hoping 7.6.7 might accept 7.6.9 sorting paramters. 7.6.7 is already sorting the list box values in ascending order (I know this because an SH1 segment is sorted in ascending order in the list box), so I was hoping to prod it into sorting in descending order. Once I have a chance to try it I will report back.

The problem with an external procedure is that the list box I want to sort is the third in a chain. Passing values from the first two chained controls does not work (at least not in the code generated by HTML Composer). So if I can't get the 7.6.9 sort parameters to work, I will probably need to convert my HTML code to -HTMLFORM in order to successfully use external procedures - which I would prefer not to have to do. Thanks again for the code.


WebFOCUS 7.7.05
February 03, 2011, 12:02 PM
Dan Satchell
No luck. The 7.6.9 sort parameters do not work in 7.6.7. I see that a number of new HTML tags and parameters have been added in 7.6.9, including the important "<data_info>" tag for specifiying sort parameters. 7.6.7 just ignores these new tags and parameters, despite being a close relative.


WebFOCUS 7.7.05