I don't know if you can do that as it can not be determined by looking at the data, ie that information is not inherent in the data. If you just want to print the first 300 records of a group, I can see how that would be done, maybe it is just wording issue.
If you wanted the first 300 records in a group, I would create a formula to be run in the details that is just a counter:
shared numbervar iCount := iCount + 1;
"" //hide the number
then in the details section expert, I would conditionally suppress the row if iCount >300
there would be a last formula to set iCount :=0 in the group header. If any calculations are to be performed on the data, you would need to add them in the detail formula or perhaps a running total would work, but I don't use them too often so am not an expert on them.
Hope this helps