This document will show you how to set your listboxes in order to be able to see them in a orderable way. It's very easy to set up some order, and, badly, often this feature is not used so much. So, thanks to this document, everyone will know that this is very easy and will use it a lot ! ('seb',) Sorted Listboxes text/html None seb en None 2005-03-23 16:11:47 2005-03-14 16:48:24 () 0 ListBox sort parameters: Sortable Columns: There is two fields in the listbox related to the sort. The first one is 'Sortable Columns'. It defines wich columns are sortable. You can enter it like this :: title | Title description | Description The only important information is the left part. The right part is not used at all. The left part must be exactly the same as the left part of the field 'Columns' of the listbox. This field is not required, most of the time you can forget it. Indeed, if nothing is defined here, then it will takes values of "Searchable Columns", and if nothing is defined in "Searchable Columns", then the lisbox will look at mysql tables if he can find one table with the right column. Sortable Columns and MySQL: With MySQL, *the only important thing* to setup is to enter correctly the field "Columns". When you use MySQL queries, through portal_catalog or searchFolder for example, you MUST set the left part of columns with the value of the column id. This is a bad way of doing for the field "Columns" :: getTitle | Title getDescription | Description getWhateverIsNotInTables | Something In the table catalog, we have a column called 'title', but this does not match 'getTitle', so by default, the title will not be sortable. This is the right way of doing :: title | Title description | Description getWhateverIsNotInTables | Something In the table catalog, we have a column called 'title', this matches 'title', so by default, the title will be sortable. So, automatically, the title and the description will be sortables, not the last column. Default Sort: The second field related to sort is called "Default Sort". It defines the default sort used, for example you may want to sort by portal type and for all objets with the same portal type, you may want to sort by title. You can define this field like this:: portal_type | ascending title | descending Again, the left part is exactly like the left part of the field "Columns". The right part defines if you want to order in ascending or descending way. If you put something else than 'ascending' or 'descending', then the 'ascending' way will be automatically choosen. Don't forget that the default sort is stored in your selection. So if you change a listbox that you already used, then the new default sort will not be used. You have to reset your selection if you want to see the default sort, the one associated with the selection name of the listbox. Once you defined the default sort, then the list method of the listbox will be called with a parameter 'sort_on'. In our example, sort_on is like this:: (('portal_type','ascending'),('title','descending')) The sort_on parameter is a list of couples. The support if the sort_on parameter already exists in the catalog. It can handle the sort on several columns ordered in a different way. If you don't use the catalog, let's say that you use a script, then you need to modify your script so that it will be able to use the sort_on parameter. Conclusion : It is very simple to set sort parameters on listboxes. First, most of the time you don't need to define the field 'Sortable Columns'. Next, when you use the catalog, you have nothing to do except define nicely the "Default Sort" field. Relation field and search: By the way, it's also possible to define the sort used to display a list of choice with a relation field, when you are redirected to the listbox of "Base_viewRelatedObjectList". Indeed, on all relation fields, there is a field "Default Sort" that will be used by the listbox of Base_viewRelatedObjectList. You can notice that you can also define the columns and some parameters. normal stx normal html