You can use a wide variety of custom objects as data sources for RadGrid. The only requirement is that the custom objects must implement the ITypedList, IEnumarable, or ICustomTypeDescriptor interface.
The demo shows how to use different data sources. Also check the documentation that describes on how to bind with arraylist.