The NeedDataSource is designed to help developers to follow a less-code approach. In the old MS DataGrid, inorder to perform an operation you should bind the grid in Page_Load on initial load and then Handle events, provide DataSource again and DataBind() the grid again. In RadGrid you can handle
NeedDataSource instead of other command events and RadGrid automatically resolves the DataSource when needed and will call DataBind(). You can find more explanation on this in the following forum link: Is OnNeedDataSource Needed ?