02/10/2018, 11:35

[C#] Hướng dẫn tạo checkbox Datagridview và truyền dữ liệu giữa hai Gridview

Xin chào các bạn, hôm nay mình sẽ viết bài hướng dẫn các bạn cách thêm ô checkbox vào DataGridview C# , và truyền dữ liệu giữa hai DataGridview . [C#] Tutorial Add Checkbox to DataGridview Trong thiết kế ứng dụng, nhiều lúc các bạn muốn ...

Xin chào các bạn, hôm nay mình sẽ viết bài hướng dẫn các bạn cách thêm ô checkbox vào DataGridview C#, và truyền dữ liệu giữa hai DataGridview.

[C#] Tutorial Add Checkbox to DataGridview

Trong thiết kế ứng dụng, nhiều lúc các bạn muốn chọn sản phẩm vào giỏ hàng, các bạn có thể thực hiện theo cách mình bên dưới để chọn list hàng một cách dễ dàng.

Dưới đây là demo mình viết bằng C#:

thêm checkbox datagridview c#

Source code C#:

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;

namespace TransferData2Gridview
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
            DataGridViewTextBoxColumn dgvcId = new DataGridViewTextBoxColumn();
            dgvcId.HeaderText = "Id";
            DataGridViewTextBoxColumn dgvcFn = new DataGridViewTextBoxColumn();
            dgvcFn.HeaderText = "First Name";
            DataGridViewTextBoxColumn dgvcLn = new DataGridViewTextBoxColumn();
            dgvcLn.HeaderText = "Last Name";

         
            DataGridViewCheckBoxColumn dgvcCheckBox = new DataGridViewCheckBoxColumn();
            dgvcCheckBox.HeaderText = "Select";

            
            dataGridView1.Columns.Add(dgvcId);
            dataGridView1.Columns.Add(dgvcFn);
            dataGridView1.Columns.Add(dgvcLn);
            dataGridView1.Columns.Add(dgvcCheckBox);

          
            dataGridView1.Rows.Add("1", "Nguyễn", "Thảo", false);
            dataGridView1.Rows.Add("2", "Cái Trí", "Minh", false);
            dataGridView1.Rows.Add("3", "Võ Sơn", "Băng", false);
            dataGridView1.Rows.Add("4", "Nguyễn Đình", "Tuyên", false);
            dataGridView1.Rows.Add("5", "Fernaldo", "Torres", false);
            dataGridView1.Rows.Add("6", "Dương", "Quá", false);
            dataGridView1.Rows.Add("7", "Tiểu Long", "Nữ", false);
            dataGridView1.Rows.Add("8", "Trương Vô", "Kỵ", false);
            dataGridView1.Rows.Add("9", "Hoàng Dược", "Sư", false);
            dataGridView1.Rows.Add("10", "Quách", "Tĩnh", false);
            dataGridView1.Rows.Add("11", "Hoàng", "Dung", false);
            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dataGridView1.AllowUserToAddRows = false;

          
            DataGridViewTextBoxColumn dgvcId2 = new DataGridViewTextBoxColumn();
            dgvcId2.HeaderText = "Id";
            DataGridViewTextBoxColumn dgvcFn2 = new DataGridViewTextBoxColumn();
            dgvcFn2.HeaderText = "First Name";
            DataGridViewTextBoxColumn dgvcLn2 = new DataGridViewTextBoxColumn();
            dgvcLn2.HeaderText = "Last Name";
            dataGridView2.Columns.Add(dgvcId2);
            dataGridView2.Columns.Add(dgvcFn2);
            dataGridView2.Columns.Add(dgvcLn2);
            dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dataGridView2.AllowUserToAddRows = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
            {
               
                bool rowAlreadyExist = false;
                bool checkedCell = (bool)dataGridView1.Rows[i].Cells[3].Value;
                if (checkedCell == true)
                {
                    DataGridViewRow row = dataGridView1.Rows[i];
                   
                    if (dataGridView2.Rows.Count != 0)
                    {                        
                        for (int j = 0; j <= dataGridView2.Rows.Count - 1; j++)
                        {
                            if (row.Cells[0].Value.ToString() == dataGridView2.Rows[j].Cells[0].Value.ToString())
                            {
                                rowAlreadyExist = true;
                                break;
                            }
                        }

                        
                        if (rowAlreadyExist == false)
                        {
                            dataGridView2.Rows.Add(row.Cells[0].Value.ToString(),
                                                   row.Cells[1].Value.ToString(),
                                                   row.Cells[2].Value.ToString()
                                                   );
                        }
                    }
                    
                    else
                    {
                        dataGridView2.Rows.Add(row.Cells[0].Value.ToString(),
                                                   row.Cells[1].Value.ToString(),
                                                   row.Cells[2].Value.ToString()
                                                   );
                    }
                }
            }
        }
    }
}

HAVE FUN :)

Tags: data gridviewgridview
0