First, my english is poor.

When I used IDataReader as the store's datasource, I found at last the data show on the GridPanel reduce 1.

I looked over the source code, in StoreDataBound.cs file, CreateAutoFieldProperties method
AutoGeneratedFieldProperties[] CreateAutoFieldProperties(IEnumerable source)

 IEnumerator en = source.GetEnumerator();

I guess, IDataReader is forward only, when "source.GetEnumerator()" is executed, the count of IDataReader reduce 1.