You can access the DIVs and create controls for them from the Web Controls tab.
Interrogate the div and change the match rules so that it matches all of the like Divs. Set the UseKeys value to true. You can then use the GetClones method to loop through the Divs and click the correct one.
I will work up an example later - but try this in the meantime.
You should not use the Loaded event to trigger your automation, use the Created event instead. Created is when OpenSpan has matched the control and attached to the target. Loaded is a web browser event and will happen before the controls are created. You cannot work with a control that is not created.
Isn't it that all events except "Created", implicitly mean the control has already matched and created? so if an automation is triggered by an event, "Click" for example, you can count on that the button control which fired "Click" event is created.
There is an implicit wait for create of by default 30 seconds on controls but there is no guarantee that the control will be created. Using the implicit wait for create does not allow you to handle a not created situation and can introduce long unexpected pauses in your execution. It is always best to explicitly wait for the needed controls.
In checkbox check method try to use index... find some unique match between template name and check box. Ur match rules should match all the controls I mean attached to all the controls then only you can achieve this stuff.. if you share your match rules of both controls would be useful for us to help.
The div tag contains template name and the div tag contains check box has same sequence number at the and of the id attribute for each tag. So it seems the only solution is that first loop over the list of template div tags to get the sequence number of matching template name then make a second loop over the list of check boxes to match the sequence number abtained in the first loop. Are there any smarter way can avoid double loop?