J'ai un cas d'utilisation dans lequel une des cellules de ma rangée est une case à cocher et une autre est un bouton radio. J'utilise l'expandeur de ligne de la grille pour remplacer le contenu de la ligne lors de l'expansion, mais la case à cocher et le bouton radio sont également remplacés. Je ne veux pas que cela arrive.Clarté Datagrid: Remplace uniquement les cellules spécifiques et pas toute la ligne à l'aide de l'expanseur de ligne
Je cherche une façon dont je peux choisir de remplacer seulement des cellules spécifiques et pas la rangée entière sur l'aide de l'expanseur de rangée.
<clr-datagrid>
<clr-dg-column>User ID</clr-dg-column>
<clr-dg-column [clrDgField]="'name'">Name</clr-dg-column>
<clr-dg-column>Allow access?</clr-dg-column>
<clr-dg-column>Default User</clr-dg-column>
<clr-dg-row *clrDgItems="let user of users; let index=index" [clrDgItem]="user">
<clr-dg-cell>{{user.id}}</clr-dg-cell>
<clr-dg-cell>{{user.name}}</clr-dg-cell>
<clr-dg-cell>
<div class="checkbox">
<input type="checkbox" id="access-{{index}}">
<label for="access-{{index}}"></label>
</div>
</clr-dg-cell>
<clr-dg-cell>
<div class="radio-inline">
<input type="radio" name="default-radios" id="default-{{index}}">
<label for="default-{{index}}"></label>
</div>
</clr-dg-cell>
<!-- Example using a wrapper component -->
<!--<detail-wrapper *clrIfExpanded ngProjectAs="clr-dg-row-detail" class="datagrid-row-flex"></detail-wrapper>-->
<clr-dg-row-detail *clrIfExpanded [clrDgReplace]="true">
<clr-dg-cell>{{user.id}}</clr-dg-cell>
<clr-dg-cell>{{user.name}}</clr-dg-cell>
<clr-dg-cell></clr-dg-cell>
<clr-dg-cell></clr-dg-cell>
</clr-dg-row-detail>
</clr-dg-row>
<clr-dg-footer>{{users.length}} users</clr-dg-footer>
</clr-datagrid>
Plunkr: https://plnkr.co/edit/WpGZi50bT3TmIkuFZ9fw