I like to use 2 dot:repeater(s) nested in one dothtml example :
<dot:Repeater DataSource="{value: Projects}">
<div class="project">
<dot:LinkButton Click="{command: _root.RedirectToTasks(Id)}">{{value: Title}}</dot:LinkButton>
<dot:Repeater DataSource="{value: _parent.Tasks}" WrapperTagName="table">
<ItemTemplate>
<tr>
<td>{{value: Title}}</td>
<td>{{value: Completed ? ("Finished: " + CompletionDate) : "Not yet"}}</td>
<td>
<dot:LinkButton Text="Done"
Click="{command: CompleteTask()}"
Visible="{value: !Completed}" />
</td>
</tr>
</ItemTemplate>
</dot:Repeater>
</div>
</dot:Repeater>
i try different options for the _parent. in the task part, but i don't get it working. in other frameworks it is possible to alias the main repeater example: 'DataSource="{value: Projects}" as project' and then its possible in the nested repeater to use 'DataSource="{value: project.Tasks}"' does someone know how to get this working ?
In the inner
Repeater, you can use just{value: Tasks}, or alternatively{value: _this.Tasks}.There is also a second caveat in the code: the
RenderWrapperTag="table"is not a good idea if you don't have thetbodyelement. Some browsers will try to add the missingtbodyand can break the DOM structure and cause theRepeaterto stop working.In general, you want to place the
Repeaterinside the<table>element and useRenderWrapperTag="tbody":