Yaz  Font K   lt Yaz  Font B y lt

DataGridView da CheckBox Sütunda Seçili Olan Satırları Başka Bir DataGridView da Gösterimini Sağlamak

 

Merhaba arkadaşlar bu makalemizde ilk önce DataGridView nesnesine CheckBox sütun ekliyoruz. Sonra MySql veritabanımızdaki tablomuzdaki verileri DataGridView da gösteriyoruz. Son olarak CheckBox da seçili satırları diğer DataGriew da gösterimi sağlıyoruz. 

 

Resim1

 

Şekil 1



 

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

 

namespace datagridview_checkbox_row_datagridview

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            DataGridViewCheckBoxColumn cbox = new DataGridViewCheckBoxColumn();

            //add checkbox column. datagridview nesnesine checkbox sutun ekliyoruz

            cbox.DataPropertyName = "CheckBox";

            cbox.HeaderText = "Select";

            cbox.Width = 60;

            cbox.Name = "cbox";

            dataGridView1.Columns.Add(cbox);

            MySqlConnection con = new MySqlConnection("Server=localhost;Database=book;Uid=root;Pwd='1234';AllowUserVariables=True;UseCompression=True;");

            con.Open();

            MySqlCommand cmd = new MySqlCommand("Select * From book.worldclassics", con);

            MySqlDataAdapter da = new MySqlDataAdapter(cmd);

            DataSet ds = new DataSet();

            da.Fill(ds);

 

            dataGridView1.DataSource = ds.Tables[0];

 

            con.Close();

 

            dataGridView2.ColumnCount = 4;

            dataGridView2.Columns[0].Name = "Id";

            dataGridView2.Columns[1].Name = "Author";

            dataGridView2.Columns[2].Name = "Book";

            dataGridView2.Columns[3].Name = "Price";

 

        }

        private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)

        {

            DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];

 

            if (((Convert.ToBoolean(row.Cells[0].Value) == false)))

            

            {

                row.DefaultCellStyle.BackColor = Color.White;

            }

            else

            {

                row.DefaultCellStyle.BackColor = Color.BlueViolet;

                row.DefaultCellStyle.ForeColor = Color.White;

            }

        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

        {

           

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

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

            {

                //Loop and uncheck all other CheckBoxes.

                foreach (DataGridViewRow row in dataGridView1.Rows)

                {

                    if (row.Index == e.RowIndex)

                    {

                        

                        DataGridViewRow newRow = new DataGridViewRow();

                        newRow.CreateCells(dataGridView2);

                        newRow.Cells[0].Value = row.Cells["Id"].Value;

                        newRow.Cells[1].Value =row.Cells["Author"].Value;

                        newRow.Cells[2].Value = row.Cells["Book"].Value;

                        newRow.Cells[3].Value = row.Cells["Price"].Value;

 

                        dataGridView2.Rows.Add(newRow);

                    }

                    else

                    {

                        //row.Cells["cbox"].Value = false;

                    }

                }

            }

 

        }

 

       

    }

}

 

 

 

      

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