title: Overriding Tapestry's Grid column sorting behvior
body: <p>I have a page that uses a Grid table where one or more columns can be sorted. The problem is, tapestry seems to sort by the ASCII values meaning that A-Z comes before a-z. I would like it to be sorted so that A and a come before Z and z, or true alphabetical rather than ASCII alphabetical. </p>
  
  <p>I can properly sort the values during the setupRender phase, but the problem is the user can click the sort icon in the column header at any time, and the way the column will be sorted will revert to the ASCII way.</p>
  
  <p>I looked at the documentation for Grid, GridSortModel, and ColumnSort and found nothing useful for overriding this behavior. I'm extremely new to tapestry, but the documentation was no help so far and I couldn't find another question that answered this online. </p>
  
  <p>The version of tapestry I'm using is 5.3.6 I think. </p>
  
  <p>Thank you.</p>
  
  <p>edit: Here's some more context. The grid is defined in the .tml file like this:</p>
  
  <pre><code>&lt;table t:type="grid" t:id="productGrid"
  model="productModel" source="products" row="product"
                  class="product-grid" inPlace="true"
                  pagerPosition="both" style="width: 90%"
                  include="name,processors,actions" &gt;
  </code></pre>
  
  <p>Then the list of products is defined in the java file as such:</p>
  
  <pre><code>@Inject
  private IProductConfigurationService _productService;
  @Persist
  private Set&lt;IProductConfiguration&gt; _products;
  . . . .
  _products = _productService.getProductConfigurations();
  </code></pre>
  
  <p>By modifying _products, then, I can modify the order of the table/grid.</p>