zoukankan      html  css  js  c++  java
  • DataGridView 动态绑定 CheckBox

    下面演示如何在 DataGridView 中动态绑定 CheckBox:

    public class Test
    {
        /// <summary>
        /// 构造器
        /// </summary>
        public Test()
        {
            InitializeComponent();
            //生成全选checkbox
            GenerateCheckbox();
        }
    /// <summary> /// 全选按钮的选择事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void checkboxAll_CheckedChanged(object sender, EventArgs e) { foreach (DataGridViewRow dr in dataGridView1.Rows) { dr.Cells[0].Value = ((CheckBox)dataGridView1.Controls.Find("checkboxAll", true)[0]).Checked; } } /// <summary> /// 生成全选Checkbox /// </summary> private void GenerateCheckbox() { //检查 dataGridView1 中是否至少绑定了一列 if (string.IsNullOrEmpty(dataGridView1.Columns[0].Name)) return; //DataGridView 中专门用来显示 Checkbox 控件的列对象;dataGridView1 中添加此对象后,绑定数据时就会自动为每行创建一个新的 CheckBox 控件
    //当然这一步也可以省略,换成直接在 dataGridView1 的 Columns 属性中添加一列,然后将其 ColumnType 设置成 DataGridViewCheckBoxColumn 即可 DataGridViewCheckBoxColumn gridViewCheckBoxCol = new DataGridViewCheckBoxColumn { Width = 50, HeaderText = "", DefaultCellStyle = { Alignment = DataGridViewContentAlignment.MiddleCenter }, ReadOnly = false //若为 true 则无法选择 CheckBox }; //把 dataGridView1 的第一列设置成 CheckBox 格式的列 dataGridView1.Columns.Insert(0, gridViewCheckBoxCol); //获取 dataGridView1 中表示单元格显示区域的矩形,通过矩形的位置来设置 CheckBox 的相对位置 Rectangle rectangle = dataGridView1.GetCellDisplayRectangle(0, -1, true); rectangle.X = rectangle.Location.X + rectangle.Width + 20; rectangle.Y = rectangle.Location.Y + rectangle.Height + 10; //新建一个用于“全选”的 CheckBox 对象 checkboxAll CheckBox chkOfAll = new CheckBox(); chkOfAll.Name = "checkboxAll"; chkOfAll.Size = new Size(18, 18); chkOfAll.Location = rectangle.Location; //为 checkboxAll 绑定全选事件 chkOfAll.CheckedChanged += new EventHandler(checkboxAll_CheckedChanged); //把 checkboxAll 添加到 dataGridView1 中 dataGridView1.Controls.Add(chkOfAll); } }
  • 相关阅读:
    day1记一次无列名注入
    无参数RCE
    ThinkPHP 5.x远程命令执行漏洞
    phpmyadmin4.8.1文件包含漏洞
    foreach循环导致变量覆盖
    绕过空格的报错注入
    布尔盲注payload补充
    php后台验证两种方式绕过
    CentOS yum 配置阿里镜像
    CentOS通过yum安装配置Java环境
  • 原文地址:https://www.cnblogs.com/hellowzl/p/6957808.html
Copyright © 2011-2022 走看看