Hi,
BaseParams are merged with other params (for example which passed by user like in your example) using Ext.applyIf
applyIf( Object obj, Object config ) : Object
Copies all the properties of config to obj if they don't already exist.
It is a reason why your params don't override BaseParams value. The reason why we use 'applyIf' instead 'apply':
1. For example, you use parameter which retrieve value from TextField: TextField1.getValue()
2. If you call reload for store then all parameters from previous request will be applied to the current (reload always repeat previous request). So, if we use 'apply' then text field value from previous request overrides current. Therefore we need use 'applyIf' to retrieve correct value
I can suggest to use function in parameter which will return value. For example:
<ext:Parameter Name="p1" Value="getMyValue()" Mode="Raw" />
function getMyValue(){ return Ext.myParamValue;}
Ext.myParamValue = 'newValue'; grid.reload(); delete Ext.myParamValue;