By default MDatagrid doesnot allow you to modify the dataprovider.
http://www.iwobanas.com/2009/06/datagrid-with-client-side-filtering-and-searching/"By default MDataGrid is using a local copy of data provider and doesn’t support removing/modifying items.
You can try setting copyDataProvider=false so that data provider will not be copied but I can’t guarantee that this will support deleting items."
So I changed your code of MDatagrid with copyDataProvider=false. Its working for me. But drawback will be that component won't have copy of database and filters added will be directly affecting the dataprovider.