Coder Passion
Coder Passion

Reputation: 65

Get Value Off Checkboxes in Datagrid

I want to get the value off checkbox from a datagrid in WPF This is my code [XAML]

<DataGrid Grid.Row="0" Grid.Column="3" Name="grdModules" Width="371" AutoGenerateColumns="False" CanUserAddRows="False"
    IsReadOnly="False" CanUserDeleteRows="True" ItemsSource="{Binding}" 
    SelectionChanged="grdModules_SelectionChanged"
    Grid.ColumnSpan="2" Height="150" Margin="126,0,-45,0" Grid.RowSpan="5">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Module" Width="71" Binding="{Binding ModuleName}"></DataGridTextColumn>
        <DataGridTemplateColumn Header="Autoriser" Width="100">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding Autoriser, Mode=TwoWay}" ></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding Autoriser, Mode=TwoWay}" ></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn Header="Accès à l'administrateur" Width="100">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding GrantToAdmin, Mode=TwoWay}"></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding GrantToAdmin, Mode=TwoWay}"></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn Header="Accès à l'utilisateur" Width="100">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding GrantToUser, Mode=TwoWay}"></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
            <DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding GrantToUser, Mode=TwoWay}"></CheckBox>
                </DataTemplate>
            </DataGridTemplateColumn.CellEditingTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

My [ViewModel]

public class ModuleAccessVM : ViewModelBase
{
    [DataMember]
    public int ModuleId { get; set; }
    [DataMember]
    public string ModuleName { get; set; }
    [DataMember]
    public string ModuleDescription { get; set; }
    [DataMember]
    public bool Autoriser { get; set; }
    [DataMember]
    public bool GrantToAdmin { get; set; }
    [DataMember]
    public bool GrantToUser { get; set; }

}

Please help I'd like to get the value off checked chekbox, when I check and uncheck some checkbox and I loop throught the itemSource I always get the default value from the db!!!

Upvotes: 1

Views: 481

Answers (1)

Coder Passion
Coder Passion

Reputation: 65

the solution is you juste have to add UpdateSourceTrigger=PropertyChanged and loop throught grid ItemSource –

Upvotes: 1

Related Questions