zoukankan      html  css  js  c++  java
  • 通过绘制在datagridview控件列头添加一个checkbox控件

         众所周知,datagridview控件是CS架构中用的比较频繁的一个控件,里面提供了checkbox列的功能,可是却没有在列头给出checkbox控件用于全选/全部取消所有行的功能,确实是个遗憾,这里就通过绘制实现这个功能.

          该程序参考codeproject上的程序,网址如下:

          http://www.codeproject.com/KB/grid/CheckBoxHeaderCell.aspx  向其致敬!

    一.创建一个表,里面包含bit字段,datagridview的DataGridViewCheckBoxColumn列会自动将其转换成checkbox列

    见表语句如下,数据库名为testDB

    CREATE TABLE [dbo].[UserInfo] (
     [RID] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,
     [username] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
     [gendar] [bit] NULL
    ) ON [PRIMARY]

    二.主要代码

    datagridviewCheckboxHeaderEventArgs类,用在在checkbox单击事件中提供类头checkbox的选择状态

    Code

    datagridviewCheckboxHeaderCell类,这是个关键列,用于绘制列头checkbox和创建鼠标单击事件

    Code

    还要定义和事件相关的委托:

        //定义触发单击事件的委托
        public delegate void datagridviewcheckboxHeaderEventHander(object sender, datagridviewCheckboxHeaderEventArgs e);

    另外是界面操作代码:

    Code

    有需要完整源代码的朋友,请加入群74085440共享中下载!

  • 相关阅读:
    《软件架构设计》温昱著读后感(一)
    质量属性II(信息领域热词分析)
    质量属性
    2020寒假学习进度报告16
    2020寒假学习进度报告15
    Nginx运行报错unknown directive ""
    使用ajax的几种方式
    Shiro中@RequiresAuthentication等等注解介绍
    shiro自定义异常无法被捕获总是抛出AuthenticationException解决方案
    java中String和int相互转换常用方法详解
  • 原文地址:https://www.cnblogs.com/gossip/p/1338868.html
Copyright © 2011-2022 走看看