I couldn't find any way to do this out of the box. To make it work, I made a regular checkbox group per field. Then in a repeat control, I have regular HTML checkboxes with name fetched from the real checkbox group. The checkbox group has to have the same values as the HTML checkboxes, or the values will be discarded.
Screenshot from the demoapp (each checkbox column is bound to a multivalue field):
- checkboxValues: Array of strings - Values for the checkboxes
- fieldNames: Array of strings - Names of the fields in the form you want to connect the checkboxes to (remember to set them to multi-value in form)
- headerLabels: Array of strings - Header labels for the checkbox columns
- rowLabels: Array of strings - Labels for the checkbox rows
Currently, the custom control uses currentDocument to bind the fields. If the control doesn't work, you might need to use a more specific document data source.Example usage
The technique I used (real+"fake" checkboxes) should enable you to customize the layout of checkboxes however you want. I imagine the technique should also work for radio buttons.