dataGridView da Tüm Satırlar İçin Uncheck ve Check Olayı

 

Merhaba arkadaşlar bu makalemizde dataGridView nesnesinin başlık kısmına ekleyeceğimiz Checkbox nesnesine tıkladığımızda dataGridView nesnemizdeki tüm satırları seçeceğiz veya Seçili CheckBox a tekrar tıkladığımızda CheckBox sütunundaki işaretleri kaldıracağız.


İlk önce dataGridView nesnesinin ilk sırasına CheckBox sütunu ekliyoruz.

 

 







Şekil 1



 






Şekil 2


Form1.cs

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace datagridview_check_uncheck_all_rows

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            this.bindDataGridView();

        }

 

        CheckBox headerCheckBox = new CheckBox();

        private void bindDataGridView()

        {

            SqlConnection con = new SqlConnection("Data Source=sirius\\SQLEXPRESS02;Initial Catalog=master;User ID=sa;Password=2344;Integrated Security=true");

            con.Open();

            SqlCommand cmd = new SqlCommand("Select * From dbo.worldclassics ", con);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

 

            DataTable dt = new DataTable();

            da.Fill(dt);

            con.Close();

            dataGridView1.DataSource = dt;

 

            Point headerCellLocation = this.dataGridView1.GetCellDisplayRectangle(0, -1, true).Location;

 

            //Place the Header CheckBox in the Location of the Header Cell.

            //Baslik kismina checkbox i yerlestiriyoruz.

            headerCheckBox.Location = new Point(headerCellLocation.X + 8, headerCellLocation.Y + 2);

            headerCheckBox.BackColor = Color.White;

            headerCheckBox.Size = new Size(18, 18);

 

            //Assign Click event to the Header CheckBox.

            //Baslik kısmındaki checkbox ın olay kısmına atama yapiyoruz.

            headerCheckBox.Click += new EventHandler(HeaderCheckBox_Clicked);

            dataGridView1.Controls.Add(headerCheckBox);

 

            //Add a CheckBox Column to the DataGridView at the first position.

           //Datagridview nesnesinin ilk sırasina bir checkbox sutun ekliyoruz.  

            DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();

            checkBoxColumn.HeaderText = "";

            checkBoxColumn.Width = 30;

            checkBoxColumn.Name = "checkBoxColumn";

            dataGridView1.Columns.Insert(0, checkBoxColumn);

 

            //Assign Click event to the DataGridView Cell.

            //Datagridview hucresine tiklama olayina atama yapiyoruz

            dataGridView1.CellContentClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);

 

        }

 

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

        {

            //Check to ensure that the row CheckBox is clicked.

            // Checkbox satirina tiklanildigini kontrol ediyoruz

            if (e.RowIndex >= 0 && e.ColumnIndex == 0)

            {

                //Loop to verify whether all row CheckBoxes are checked or not.

               //Tum satirlarin secili olup olmadigini dogrulamak icin gerekli dongumuz

                bool isChecked = true;

                foreach (DataGridViewRow row in dataGridView1.Rows)

                {

                    if (Convert.ToBoolean(row.Cells["checkBoxColumn"].EditedFormattedValue) == false)

                    {

                        isChecked = false;

                        break;

                    }

                }

                headerCheckBox.Checked = isChecked;

            }

 

        }

 

        private void HeaderCheckBox_Clicked(object sender, EventArgs e)

        {

            //Necessary to end the edit mode of the Cell.

            dataGridView1.EndEdit();

 

            //Loop and check and uncheck all row CheckBoxes based on Header Cell CheckBox.

            foreach (DataGridViewRow row in dataGridView1.Rows)

            {

                DataGridViewCheckBoxCell checkBox = (row.Cells["checkBoxColumn"] as DataGridViewCheckBoxCell);

                checkBox.Value = headerCheckBox.Checked;

            }

        }

 

    }

}

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...