Hello all, I have a combobox as follows:

Code:
SAM = new form.ComboBox(
		{id: 'looksam',
		fieldLabel: 'Please select the IDM role that this is being added to',
	        name: 'txtSAMRole',
		store: IDMRoleStore, 
                displayField: 'Role',
                typeAhead: false,
                listeners: {
	    		"focus": {
      				fn: function () {
      				IDMRoleStore.filter('BudgetCode', IDMBudgetCode.getRawValue());
      						}
          				}
          			},
               mode: 'local' ,                     
               triggerAction: 'all',
               emptyText: 'Please select',
               selectOnFocus: true,
               hideMode: 'display',
               anchor: '85%'});
and a datastore as follows:

Code:
IDMRoleStore = new data.Store({
			        autoLoad: true,
				fields: [{name: 'BudgetCode'}],
				url: "viewBudgetCodeDisplayName?readviewentries&Count=-1",
				reader: new data.XmlReader({record: 'viewentry'}, [	{name: 'BudgetCode', mapping: 'entrydata[name=BUDGET_CODE]/text'}, 
				{name: 'Role', mapping: 'entrydata[name=DISPLAY_NAME]/text' }])});
so I'm filtering my datastore based on the content of the field IDMBudgetCode field. However the first time the focus listener runs on the SAM field, the filter isn't performed, however if I take the focus off the field then try again, it works.

I've spent the best part of today looking into this, I dont think I'm far away but just cannot get it to work. Can anyone help?

Thanks in advance.

Mike