Bug 201236 Issue about Allow multiple and duplicate values in Layout preview[0705]
Description: Issue about Allow multiple and duplicate values in Layout preview Build number:2.2.1.v20070827 Steps to reproduce: 1. New sample data source and dataset from CUSTOMERS. 2. New a parameter p1, listbox, dynamic, value field COUNTRY, tick on allow duplicate value, tick on allow multiple values. 3. Insert a data item to Layout, set expression as var values=""; for (i=0;i<params["p1"].value.length;i++) values=values+params["p1"].value[i]+"."; values; 4. In Layout, click Preview and select France. Expected result: Display one France. Actual result: Display several France. I tried the same action but preview in Web viewer and extenal html, the result is only one France. Error log:n/a
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/taglib/ParamDefTag.java
if ( index == group.getParameterCount( ) - 1 )
			return;
		String casObj = "cas" + encParamId; 
		String namesObj = "names_" + encParamId; 
		writer.write( "\n<script language=\"JavaScript\">\n" ); 
		writer
				.write( "var " + namesObj + " = new Array( " + ( index + 2 ) + " );\n" ); 
		for ( int i = 0; i < index + 2; i++ )
		{
			ParameterDefinition param = (ParameterDefinition) group
					.getParameters( ).get( i );
			writer.write( namesObj + "[" + i + "] = \"" 
					+ ParameterAccessor.htmlEncode( param.getName( ) )
					+ "\";\n" ); 
		}
		writer
				.write( "var " + casObj + " = new CascadingParameter( \"" + this.viewer.getId( ) + "\", param, " + namesObj + ", " + this.groupObjName + " );\n" ); 
		writer
				.write( "var selectCtl = document.getElementById(\"" + encParamId + "\");\n" ); 
		writer.write( "selectCtl.onchange = function( ) { \n" ); 
		writer.write( "var selectCtl = document.getElementById(\"" + encParamId 
				+ "\");\n" ); 
		writer.write( "handleParam" + encParamId 
				+ "( selectCtl.options[selectCtl.selectedIndex] );\n" ); 
		writer.write( "progressBar.setHandler(" + casObj + ");\n" ); 
		writer.write( casObj + ".process( ); };\n" ); 
		writer
				.write( "var inputCtl = document.getElementById(\"" + inputTextId + "\");\n" ); 
		writer.write( "if( inputCtl )\n" );