Friday, May 29, 2015

Check Box Checked and Un-Checked Events in Data Grid Header

             
In this article we will see how Check Box check and uncheck event works in Data Grid Header. In this article I have created the database using first code approach and the main aim of this article is to explain how to place check box in data grid header and when a header checkbox is checked then all the cells of that column will be in checked state and when header check box is un-checked the all the cells of that column should un-checked state. The below calm code will explain how to place check box in data grid header and cell of that particular column 

<Data Grid AutoGenerateColumns="False" Height="270" CanUserAddRows="False"     Name="dataGrid1" VerticalAlignment="Top" Width="481" >
   <DataGrid.Columns>
    <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"  Width="50"/>
     <DataGridTextColumn Header="Price" Binding="{Binding Path=Price}" Width="50" />
        <DataGridTextColumn Header="Unit" Binding="{Binding Path=Unit}" Width="50"/>
          <DataGridTemplateColumn>
             <DataGridTemplateColumn.Header>
<CheckBox Content="Uncheck All Or Check All" Checked="CheckBox_Checked"    Unchecked="CheckBox_Unchecked"/>

                    </DataGridTemplateColumn.Header>


                    <DataGridTemplateColumn.CellTemplate>
                     <DataTemplate>
                     <CheckBox Name="chkDiscontinue" IsChecked="{Binding values,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>


There are two events which take place in Data Grid Header namely checked event and unchecked event. I will explain both events one by one as shown below:
1: Check Box Checked Event in Data Grid Header Select Column:
In this event when you check the check box in Data grid Header Select column then all the check box present in cells of that column will be in checked state. See the below snapshot






The code behind for Check Box Checked Event in Data Grid Header Column Select is
private void CheckBox_Checked(object sender, RoutedEventArgs e)
        {
            Database DB = new Database();
            Products products = new Products();
            foreach (var r in DB.prod)
            {
                r.values = true;
            }
            DB.SaveChanges();
            dataGrid1.ItemsSource = DB.prod.ToList();
           
        }

Check Box Un-Checked Event in Data Grid Header Select Column:
In this event when you un-check the check box in Data grid header select column then all the check box present in cells of that select column will be in un-checked state. See the below snapshot


The code behind for Check Box Un-Checked Event in Data Grid Header Column is
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
        {
            Database DB = new Database();
            Products products = new Products();
            foreach (var r in DB.prod)
            {
                r.values = false;
            }
            DB.SaveChanges();
            dataGrid1.ItemsSource = DB.prod.ToList();
        }


Summary:
In this article I have explained how check box events works data grid header. I have also uploaded the source code. If you have any doubts please do comment. Thank you for reading my article

Source Code: Download






No comments: