Mi piacerebbe rendere dinamicamente righe e colonne usando knockout. L'idea è che mi piacerebbe popolare ogni riga con alcune celle e aggiungere dinamicamente più righe se necessario. lascia supporre che il numero totall di cellule è uguale il numero 4 * di righe, poi ho provato:Come renderizzare tr condizionalmente in knockout.js foreach binding
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0--><tr><!--/ko-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
<!--ko if: $index() % 4 == 0--></tr><!--/ko-->
</tbody>
</table>
ma funziona come se fosse:
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
</tr><!--/ko-->
</tbody>
</table>
da non rendendo tutta la fila con i contenuti, è possibile con knockout per rendere tutte le celle e aggiungere righe solo quando necessario?
Per risolvere il problema, penso a foreach annidato, ma richiederebbe che il mio modello passasse da una dimensione monodimensionale a una bidimensionale che sembra strana.
Sei sicuro che si desidera utilizzare una tabella HTML per questo? Se disponi di un elenco di elementi come i tuoi dati, non puoi semplicemente renderli come div e usare i CSS per farli scorrere naturalmente all'interno di un contenitore, 4 in tutto? –
Sì, sono i dati tabulari e le tabelle sono per la visualizzazione di dati tabulari utilizzando div sarebbe soluzione alternativa non una soluzione – 0lukasz0