You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by anthony_herve <an...@expertisefreelance.fr> on 2004/06/18 17:04:00 UTC
esql and multivaluefield sorting
Hello,
I use Woody as form manager.
In one form definition file, I have a multivaluefield initialized from a
postgresql table :
----------
<wd:multivaluefield id="domaine">
<wd:label></wd:label>
<wd:datatype base="string">
<wd:validation>
<wd:value-count min="1"/>
</wd:validation>
</wd:datatype>
<wd:selection-list src="cocoon://selectionDomaine" dynamic="false"/>
</wd:multivaluefield>
----------
The query is carried out in the domaine_select.sxp file :
----------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:esql="http://apache.org/cocoon/SQL/v2"
xmlns:wt="http://apache.org/cocoon/woody/template/1.0"
xmlns:wi="http://apache.org/cocoon/woody/instance/1.0"
xmlns:xsp-cookie="http://apache.org/xsp/cookie/2.0"
>
<xsp:structure>
<xsp:include>java.util.*</xsp:include>
<xsp:include>java.text.DateFormat</xsp:include>
<xsp:include>org.apache.cocoon.environment.Cookie</xsp:include>
</xsp:structure>
<wd:selection-list xmlns:wd="http://apache.org/cocoon/woody/definition/1.0">
<xsp:logic>
String langue = new String("fr");
Cookie cookielangue = <xsp-cookie:getCookie name="langue"/>;
if (cookielangue != null) {
langue = cookielangue.getValue();
}
</xsp:logic>
<esql:connection>
<esql:pool>maPool</esql:pool>
<xsp:logic>
if (langue.compareTo("fr")==0) {
</xsp:logic>
<esql:execute-query>
<esql:query><xsp:expr>"SELECT id,intitule FROM
domaineexpertise WHERE lang_id='fr' ORDER BY id"</xsp:expr>
</esql:query>
<esql:results>
<esql:row-results>
<wd:item><xsp:attribute
name="value"><esql:get-string column = "id"/></xsp:attribute>
<wd:label><esql:get-string
column="intitule"/></wd:label>
</wd:item>
</esql:row-results>
</esql:results>
</esql:execute-query>
<xsp:logic>
}
else {
</xsp:logic>
<esql:execute-query>
<esql:query><xsp:expr>"SELECT id,intitule FROM
domaineexpertise WHERE lang_id='en' ORDER BY id"</xsp:expr>
</esql:query>
<esql:results>
<esql:row-results>
<wd:item><xsp:attribute
name="value"><esql:get-string column = "id"/></xsp:attribute>
<wd:label><esql:get-string
column="intitule"/></wd:label>
</wd:item>
</esql:row-results>
</esql:results>
</esql:execute-query>
<xsp:logic>
}
</xsp:logic>
</esql:connection>
</wd:selection-list>
</xsp:page>
----------
In this query, my selection is sorted by the field "id" which is sequential.
But when my form is displayed, the values corresponding to the field
"intitule" (wd:label) are sorted alphabetically (ignoring my "id" query
sorting criteria).
I guess it comes form a javascript but I can not figure out where it is
done.
Does someone know how I could fix this ?
Thanks.
Anthony Hervé
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org