Reputation: 65
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
Reputation: 65
the solution is you juste have to add UpdateSourceTrigger=PropertyChanged and loop throught grid ItemSource –
Upvotes: 1