MVC Contrib Grid com caixa de seleção
-
28-09-2019 - |
Pergunta
Estou procurando a maneira como adicionar uma caixa de seleção no cabeçalho que suporta ou desmarcou toda a minha coluna de caixa de seleção da minha GirdView.
<table class="grid">
<th><input type="checkbox" name="chkall"/></th>
<th>Name</th>
<tr>
<td>
<input type="checkbox" id="chkItem_1"/>
</td>
<td>
Category 1
</td>
</tr>
<tr>
<td>
<input type="checkbox" id="chkItem_2"/>
</td>
<td>
Category 2
</td>
</tr>
</table>
Solução
column.For(x => Html.CheckBox("mycheckbox", new { @class = "foo" }))
.DoNotEncode()
.Header("<th><input type=\"checkbox\" id="chkHeader" /></th>");
E então você pode usar o jQuery para lidar com o evento de mudança da caixa de seleção do cabeçalho e verificar/desmarcar todos os outros:
$(function() {
$('#chkHeader').change(function() {
if ($(this).is(':checked')) {
$('.foo').attr('checked', 'checked');
} else {
$('.foo').removeAttr('checked');
}
});
});
Outras dicas
O seguinte funcionou para mim:
column.For(x => Html.CheckBox('chkBox', x.Published)).Named('Published');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow