I have encountered a very odd issue with a List I have which seems to maintain previous selections after I sort the underlying store.

So for example I select the fourth row in my list, the store then gets sorted which causes the selected row to now be ordered as the first row. I end up with both the first and fourth row selected in my list control.

I then perform another sort, and my selected row now jumps to the fifth position, but I now have rows 1, 4 and 5 selected!

So it seems the list is selecting wherever the record was ordered beforehand.

Am I missing a trick here?

My list view is defined like so:

Ext.define('PinpointersTouch.view.UnitList', {
    extend: 'Ext.List',
    xtype: 'unitslist',
    config: {
        fullscreen: true,
        itemTpl: new Ext.XTemplate(
				'<ul id="unitList">',
					'<tpl for=".">',
							'<table width="100%" cellspacing="0">',
									'<td style="width:30px; text-align:center">{MapIconHTML}</td>',
									'<td valign="middle"> - {UnitName}</td>',
							'<div class="journeyCurrentLocation">{Location}</div>',
							'<div class="journeyLastReportedTimestamp"><b>Last Reported at:</b> {EventDTLocalDisplay}</div>',
        store: 'CurrentGrid'