I presume you are using the 'Separate participants' setting of the activity. If that's the case, then indeed the supervisor is not likely to see anything because this setting can be overridden only by the manageentries capability. Fortunately, the Dataform is flexible enough to allow separate participants be means of permissions rather than this setting.
Here is a working test-case of individualized activity with supervisors. It uses a designated role for the supervisor, but the effect could be achieved with standard roles although this may require more permission adjustments.
The test-case starts with Course 1, Test Dataform activity in Course 1, a teacher and 3 students enrolled in the course. It creates a simple activity with 1 view and 1 field and adds 3 entries, one for each student.
See if this clarifies the set up.
Given I start afresh with dataform "Test Dataform"
And the following dataform "fields" exist:
| type | dataform | name |
| text | dataform1 | Field Text |
And the following dataform "views" exist:
| type | dataform | name | default |
| aligned | dataform1 | View 01 | 1 |
And the following dataform "entries" exist:
| dataform | user | group | timecreated | timemodified | Field Text |
| dataform1 | student1 | | | | 1 Entry by Student 01 |
| dataform1 | student2 | | | | 2 Entry by Student 02 |
| dataform1 | student3 | | | | 3 Entry by Student 03 |
# Make the activity separate participants
# by denying students the view any entry permission
# in the activity level
And the following "permission overrides" exist:
| capability | permission | role | contextlevel | reference |
| mod/dataform:entryanyview | Prohibit | student | Activity module | dataform1 |
| mod/dataform:entryanyexport | Prohibit | student | Activity module | dataform1 |
# Add Supervisor user
And the following "users" exist:
| username | firstname | lastname | email |
| supervisor1 | Supervisor | 1 | supervisor1@asd.com |
# Add a Supervisor role based on the guest role
And the following "roles" exist:
| shortname | name | description | archetype |
| supervisor | Supervisor | | guest |
# Adjust the Supervisor role
Then I log in as "admin"
And I navigate to "Define roles" node in "Site administration > Users > Permissions"
And I follow "Supervisor"
And I press "Edit"
# Make the supervisor role assignable in course, activity and block.
And I set the field "contextlevel50" to "1"
And I set the field "contextlevel70" to "1"
And I set the field "contextlevel80" to "1"
# Deny viewing others' entries in the Dataform
And I set the field "mod/dataform:entryanyview" to "0"
And I press "Save changes"
# Enrol Supervisor 1 in the course as supervisor
And the following "course enrolments" exist:
| user | course | role |
| supervisor1 | C1 | supervisor |
# Now we add supervision.
Then I follow "Home"
And I follow "Course 1"
And I follow "Test Dataform"
# Add entry access rule with filter to match entries of student 1
#------------------------------------
Then I follow "Manage"
And I follow "Access"
And I follow "id_add_entry_access_rule"
And I follow "id_editaccessentry1"
And I set the field "Name" to "Supervisor 1 supervisees"
And I set the field "Enabled" to "No"
And I set search criterion "1" to "AND" "User username" "" "Equal" "student1"
And I press "Save changes"
# Grant permissions on others' entries in the access rule block context.
#------------------------------------
Then I follow "id_editpermaccessentry1"
And I set the field "Advanced role override" to "Supervisor (0)"
And I click on "Allow" "radio" in the "mod/dataform:entryanyview" "table_row"
And I click on "Allow" "radio" in the "mod/dataform:entryanyupdate" "table_row"
And I press "Save changes"
# Assign Supervisor 1 to the access rule.
#------------------------------------
And I navigate to "Assign roles" node in "Block: Dataform access-entry"
And I follow "Supervisor"
And I set the field "Potential users" to "Supervisor 1 (supervisor1@asd.com)"
And I press "Add"
And I log out
# Activity browsing
#================
# At this point each student can see only his/her entries
# and supervisors cannot see any student entry
# Student 1 can see only own entries
#------------------------------------
When I log in as "student1"
And I follow "Course 1"
And I follow "Test Dataform"
Then I see "1 Entry by Student 01"
And I do not see "2 Entry by Student 02"
And I do not see "3 Entry by Student 03"
And I log out
# Supervisor 1 can not see any student entries
#------------------------------------
When I log in as "supervisor1"
And I follow "Course 1"
And I follow "Test Dataform"
Then I do not see "1 Entry by Student 01"
And I do not see "2 Entry by Student 02"
And I do not see "3 Entry by Student 03"
And I log out
# Activity setup
#================
Then I log in as "teacher1"
And I follow "Course 1"
And I follow "Test Dataform"
# Enable the access rule
#------------------------------------
Then I follow "Manage"
And I follow "Access"
And I follow "id_showhideaccessentry1"
And I log out
# Activity browsing
#================
# Supervisor 1 can now see all and only entries by student 1.
When I log in as "supervisor1"
And I follow "Course 1"
And I follow "Test Dataform"
Then I see "1 Entry by Student 01"
And I do not see "2 Entry by Student 02"
And I do not see "3 Entry by Student 03"
And I log out