I have found what is going on but not why.
I have a function that runs on page load GetSelections() this loads up from the profile system user preferences its these preferences that are then used to load data into the grid.
These are the page load functions that run with the ActivityGrid Load beiong the routine that gets data and binds it to the grid.
The problem is the Grouping
Local_ActivityGrouping = Profile("SiteGroupPreferences_" + SiteGroup_ID.ToString + ".ActivityGrouping")
'If Local_ActivityGrouping Then
' rdActivity.MasterTableView.GroupByExpressions.Add(New GridGroupByExpression(rdActivity.MasterTableView.GetColumnSafe("Activity")))
Why would presetting the grid groupby cause a NeedDataSource to be called when clicking on a checkbox within the grid.