读书人

急winform datagridview表头如何增加

发布时间: 2012-01-03 22:16:06 作者: rapoo

急!winform datagridview表头怎么增加复选框,点击表头的复选框,下面行的复选全选或全未选
如题,谢谢!

[解决办法]
LZ着急用,那就贴C#代码如下:

C# code
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        private DataGridView DataGridView1 = new DataGridView();        private CheckBox CheckBox1 = new CheckBox();         public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            CheckBox1.CheckedChanged += CheckBox1_CheckedChanged;            DataGridView1.CellPainting += DataGridView1_CellPainting;            this.DataGridView1.AllowUserToResizeRows = false;            this.DataGridView1.AllowUserToResizeColumns = false;            this.DataGridView1.Dock = DockStyle.Fill;            this.DataGridView1.Columns.Add(new DataGridViewCheckBoxColumn());            this.DataGridView1.Columns.Add("Column2", "Column2");            for (int i = 1; i <= 3; i++)            {                this.DataGridView1.Rows.Add(0, "Row" + i.ToString() + " Column2");            }            this.CheckBox1.Visible = false;            this.CheckBox1.Text = "CheckBox";            this.Controls.Add(DataGridView1);            this.Controls.Add(CheckBox1);         }        private void CheckBox1_CheckedChanged(object send, System.EventArgs e)        {            for (int i = 0; i <= this.DataGridView1.RowCount - 1; i++)            {                this.DataGridView1.Rows.SharedRow(i).SetValues(CheckBox1.Checked);            }        }        private void DataGridView1_CellPainting(object sender, System.Windows.Forms.DataGridViewCellPaintingEventArgs e)        {            if (e.RowIndex == -1 & e.ColumnIndex == 0)            {                Point p = this.DataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true).Location;                p.Offset(this.DataGridView1.Left, this.DataGridView1.Top);                this.CheckBox1.Location = p;                this.CheckBox1.Size = this.DataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Size;                this.CheckBox1.Visible = true;                this.CheckBox1.BringToFront();            }        }     }} 

读书人网 >C#

热点推荐