Most probably the problem comes from the fact that you are calling the DataBind() method of RadTreeList while you are using NeedDataSource event. Calling this method will break the databinding of RadGrid.
Try to modify your code as follows:
sender, CriteriaController criteriaController)
and you should not have problems.
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed